diff options
-rw-r--r-- | webtests/browser_run.py (renamed from webtests/browser_test.py) | 11 | ||||
-rw-r--r-- | webtests/correlation_matrix_test.py | 86 | ||||
-rw-r--r-- | webtests/correlation_test.py | 67 | ||||
-rw-r--r-- | webtests/marker_regression_test.py | 78 | ||||
-rw-r--r-- | webtests/test_runner.py | 27 |
5 files changed, 66 insertions, 203 deletions
diff --git a/webtests/browser_test.py b/webtests/browser_run.py index 50e4d128..b2058cf8 100644 --- a/webtests/browser_test.py +++ b/webtests/browser_run.py @@ -1,4 +1,8 @@ -from __future__ import print_function, division, absolute_import +from __future__ import absolute_import, division, print_function + +__all__ = ('sleep', 'testmod', 'test') + +from doctest import testmod from time import sleep @@ -60,6 +64,5 @@ class Test(object): print("title:", self.browser.title) -#if __name__ == '__main__': -# import doctest -# doctest.testmod()
\ No newline at end of file + +test = Test()
\ No newline at end of file diff --git a/webtests/correlation_matrix_test.py b/webtests/correlation_matrix_test.py index 21051fd7..8529c265 100644 --- a/webtests/correlation_matrix_test.py +++ b/webtests/correlation_matrix_test.py @@ -2,7 +2,6 @@ Test Correlation matrix ->>> test = Test() >>> test.get("http://genenetwork.org/") title: GeneNetwork @@ -15,17 +14,29 @@ text: grin2b Search >>> test.click('//*[@id="btsearch"]') +clicked: Search -Select the first 4 records +Add 1430675_at >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p/table/tbody/tr[3]/td/div/table/tbody/tr[2]/td/input''') +clicked: HC_M2_0606_P::1430675_at + +Add 1442370_at >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p/table/tbody/tr[3]/td/div/table/tbody/tr[3]/td/input''') +clicked: HC_M2_0606_P::1442370_at + +Add 1457003_at >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p/table/tbody/tr[3]/td/div/table/tbody/tr[4]/td/input''') +clicked: HC_M2_0606_P::1457003_at + +Add 1422223_at >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p/table/tbody/tr[3]/td/div/table/tbody/tr[5]/td/input''') +clicked: HC_M2_0606_P::1422223_at >>> sleep(5) Add to collection page >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p/table/tbody/tr[1]/td/table/tbody/tr[1]/td[4]/a''') +clicked: Notext >>> sleep(5) @@ -35,10 +46,11 @@ title: BXD Trait Collection Select all records >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/a/img''') - +clicked: Notext Click Matrix >>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]/a/img''') +clicked: Notext Another new window >>> test.switch_window() @@ -53,66 +65,8 @@ text: 0.608\n71 """ -from __future__ import print_function, division, absolute_import - -from time import sleep - -import selenium -from selenium import webdriver -from selenium.common.exceptions import NoSuchElementException, ElementNotVisibleException -from selenium.webdriver.common.keys import Keys - -from browser_test import Test -# -#class Test(object): -# def __init__(self): -# self.browser = webdriver.Chrome('/home/gn2/gn2/webtests/chromedriver') -# -# def get(self, url): -# self.browser.get(url) -# sleep(5) -# self.title() -# -# def click(self, xpath_selector): -# el = self.browser.find_element_by_xpath(xpath_selector) -# #text = el.text.strip() or el.get_attribute("value").strip() -# el.click() -# #print("clicked:", text) -# sleep(2) -# -# def click_option(self, xpath_selector, option_text): -# el = self.browser.find_element_by_xpath(xpath_selector) -# for option in el.find_elements_by_tag_name('option'): -# if option.text == option_text: -# option.click() # select() in earlier versions of webdriver -# break -# sleep(2) -# -# def enter_text(self, xpath_selector, text): -# el = self.browser.find_element_by_xpath(xpath_selector) -# sleep(10) -# el.send_keys(text) -# sleep(5) -# # Just in case things get mangled by JavaScript, etc. we print the text for testing -# self.get_text(xpath_selector) -# -# def get_text(self, xpath_selector): -# el = self.browser.find_element_by_xpath(xpath_selector) -# text = el.text.strip() or el.get_attribute("value").strip() -# print("text:", text) -# -# def switch_window(self): -# self.browser.switch_to_window(self.browser.window_handles[-1]) -# sleep(2) -# self.title() -# sleep(2) -# -# -# def title(self): -# print("title:", self.browser.title) -# -# -# -if __name__ == '__main__': - import doctest - doctest.testmod() +from __future__ import absolute_import, division, print_function + +from browser_run import * + +testmod() diff --git a/webtests/correlation_test.py b/webtests/correlation_test.py index aaf3f7df..aad3a69f 100644 --- a/webtests/correlation_test.py +++ b/webtests/correlation_test.py @@ -1,7 +1,6 @@ """ Test calculate correlations ->>> test = Test() >>> test.get("http://genenetwork.org") title: GeneNetwork @@ -37,7 +36,7 @@ Another new window title: Correlation Sleep a bunch because this can take a while ->>> sleep(60) +>>> sleep(25) Ensure the Sample rho is the exepcted 1.000 because it should be the same record >>> test.get_text('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/table/tbody/tr[2]/td/div/table/tbody/tr[2]/td[9]/a''') @@ -45,66 +44,8 @@ text: 1.000 """ -from __future__ import print_function, division, absolute_import +from __future__ import absolute_import, division, print_function -from time import sleep +from browser_run import * - -import selenium -from selenium import webdriver -from selenium.common.exceptions import NoSuchElementException, ElementNotVisibleException -from selenium.webdriver.common.keys import Keys - - -class Test(object): - def __init__(self): - self.browser = webdriver.Chrome('/home/gn2/gn2/webtests/chromedriver') - - def get(self, url): - self.browser.get(url) - sleep(5) - self.title() - - def click(self, xpath_selector): - el = self.browser.find_element_by_xpath(xpath_selector) - text = el.text.strip() or el.get_attribute("value").strip() - el.click() - print("clicked:", text) - sleep(2) - - def click_option(self, xpath_selector, option_text): - el = self.browser.find_element_by_xpath(xpath_selector) - for option in el.find_elements_by_tag_name('option'): - if option.text == option_text: - option.click() # select() in earlier versions of webdriver - break - sleep(2) - - def enter_text(self, xpath_selector, text): - el = self.browser.find_element_by_xpath(xpath_selector) - sleep(10) - el.send_keys(text) - sleep(5) - # Just in case things get mangled by JavaScript, etc. we print the text for testing - self.get_text(xpath_selector) - - def get_text(self, xpath_selector): - el = self.browser.find_element_by_xpath(xpath_selector) - text = el.text.strip() or el.get_attribute("value").strip() - print("text:", text) - - def switch_window(self): - self.browser.switch_to_window(self.browser.window_handles[-1]) - sleep(2) - self.title() - sleep(2) - - - def title(self): - print("title:", self.browser.title) - - - -if __name__ == '__main__': - import doctest - doctest.testmod() +testmod() diff --git a/webtests/marker_regression_test.py b/webtests/marker_regression_test.py index 3baf1e95..c4f76f53 100644 --- a/webtests/marker_regression_test.py +++ b/webtests/marker_regression_test.py @@ -1,7 +1,6 @@ """ Test calculate correlations ->>> test = Test() >>> test.get("http://genenetwork.org") title: GeneNetwork @@ -29,11 +28,11 @@ Click on Mapping Tools clicked: Mapping Tools Click on Marker Regression tab ->>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[8]/table/tbody/tr/td/div/ul/li[2]/a''') +>>> test.click('''//*[@id="mapping_tabs"]/ul/li[2]/a''') clicked: Marker Regression Click on Compute ->>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[8]/table/tbody/tr/td/div/div[2]/span/table/tbody/tr/td/input''') +>>> test.click('''//*[@id="mappingtabs-2"]/span/table/tbody/tr[1]/td/input''') clicked: Compute Another new window @@ -44,74 +43,13 @@ Sleep a bunch because this can take a while >>> sleep(60) Ensure that the LRS of the top record is the exepcted value ->>> test.get_text('''/html/body/table/tbody/tr[3]/td/table/tbody/tr[4]/td/table/tbody/tr/td/div/table/tbody/tr[2]/td[2]''') +>>> test.get_text('''//*[@id="1"]/td[2]''') text: 11.511 """ -from __future__ import print_function, division, absolute_import - -from browser_test import Test - -# -#from time import sleep -# -# -#import selenium -#from selenium import webdriver -#from selenium.common.exceptions import NoSuchElementException, ElementNotVisibleException -#from selenium.webdriver.common.keys import Keys -# -# -#class Test(object): -# def __init__(self): -# self.browser = webdriver.Chrome('/home/gn2/gn2/webtests/chromedriver') -# -# def get(self, url): -# self.browser.get(url) -# sleep(5) -# self.title() -# -# def click(self, xpath_selector): -# el = self.browser.find_element_by_xpath(xpath_selector) -# text = el.text.strip() or el.get_attribute("value").strip() -# el.click() -# print("clicked:", text) -# sleep(2) -# -# def click_option(self, xpath_selector, option_text): -# el = self.browser.find_element_by_xpath(xpath_selector) -# for option in el.find_elements_by_tag_name('option'): -# if option.text == option_text: -# option.click() # select() in earlier versions of webdriver -# break -# sleep(2) -# -# def enter_text(self, xpath_selector, text): -# el = self.browser.find_element_by_xpath(xpath_selector) -# sleep(10) -# el.send_keys(text) -# sleep(5) -# # Just in case things get mangled by JavaScript, etc. we print the text for testing -# self.get_text(xpath_selector) -# -# def get_text(self, xpath_selector): -# el = self.browser.find_element_by_xpath(xpath_selector) -# text = el.text.strip() or el.get_attribute("value").strip() -# print("text:", text) -# -# def switch_window(self): -# self.browser.switch_to_window(self.browser.window_handles[-1]) -# sleep(2) -# self.title() -# sleep(2) -# -# -# def title(self): -# print("title:", self.browser.title) - - - -if __name__ == '__main__': - import doctest - doctest.testmod() +from __future__ import absolute_import, division, print_function + +from browser_run import * + +testmod() diff --git a/webtests/test_runner.py b/webtests/test_runner.py new file mode 100644 index 00000000..d2d6339d --- /dev/null +++ b/webtests/test_runner.py @@ -0,0 +1,27 @@ +from __future__ import absolute_import, division, print_function + +import unittest +import doctest +import glob + +#tests = ("correlation_test", +# "correlation_matrix_test", +# "marker_regression_test") + + +def main(): + tests = glob.glob("*_test.py") + + suite = unittest.TestSuite() + + for testname in tests: + test = testname.rsplit(".", 1)[0] + print("Test is:", test) + mod = __import__(test) + suite.addTest(doctest.DocTestSuite(mod)) + + runner = unittest.TextTestRunner() + runner.run(suite) + +if __name__ == '__main__': + main()
\ No newline at end of file |