From a1c5f1d8bac72c7430740266becfa70191d17314 Mon Sep 17 00:00:00 2001 From: Sam Ockman Date: Thu, 8 Aug 2013 14:41:40 -0700 Subject: First Selenium test added --- webtests/test1.py | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 webtests/test1.py (limited to 'webtests') diff --git a/webtests/test1.py b/webtests/test1.py new file mode 100644 index 00000000..c587e6e3 --- /dev/null +++ b/webtests/test1.py @@ -0,0 +1,110 @@ +""" +Test calculate correlations + +>>> test = Test() +>>> test.get("http://genenetwork.org") +title: GeneNetwork + +Choose the type +>>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') + +Enter the Get Any +>>> test.enter_text('''//*[@id="tfor"]''', 'ssh') +text: ssh + +Search +>>> test.click('//*[@id="btsearch"]') +clicked: Search + +Choose the first result +>>> 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[2]/a''') +clicked: 1455854_a_at + +A new window is created, so we switch to it +>>> test.switch_window() +title: Hippocampus M430v2 BXD 06/06 PDNN : 1455854_a_at: Display Trait + +Click on Calculate Correlations +>>> test.click('''//*[@id="title3"]''') +clicked: Calculate Correlations + +Click on Compute +>>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[6]/table/tbody/tr/td/div/div/span/table/tbody/tr/td/input[3]''') +clicked: Compute + +Another new window +>>> test.switch_window() +title: Correlation + +Sleep a bunch because this can take a while +>>> sleep(60) + +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''') +text: 1.000 + +""" + +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 + + +class Test(object): + def __init__(self): + self.browser = webdriver.Firefox() + + 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() -- cgit v1.2.3 From eea1c38a9851f31011787b27c14365211a06ea51 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Wed, 14 Aug 2013 17:22:54 -0500 Subject: Committing browser test files --- webtests/browser_test.py | 65 ++++++++++++++++++++ webtests/chromedriver | Bin 0 -> 17741222 bytes webtests/correlation_matrix_test.py | 118 ++++++++++++++++++++++++++++++++++++ webtests/correlation_test.py | 110 +++++++++++++++++++++++++++++++++ webtests/libpeerconnection.log | 0 webtests/marker_regression_test.py | 117 +++++++++++++++++++++++++++++++++++ webtests/test1.py | 2 +- 7 files changed, 411 insertions(+), 1 deletion(-) create mode 100644 webtests/browser_test.py create mode 100755 webtests/chromedriver create mode 100644 webtests/correlation_matrix_test.py create mode 100644 webtests/correlation_test.py create mode 100644 webtests/libpeerconnection.log create mode 100644 webtests/marker_regression_test.py (limited to 'webtests') diff --git a/webtests/browser_test.py b/webtests/browser_test.py new file mode 100644 index 00000000..50e4d128 --- /dev/null +++ b/webtests/browser_test.py @@ -0,0 +1,65 @@ +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 + +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) + if el.text: + text = el.text.strip() + elif el.get_attribute("value"): + text = el.get_attribute("value").strip() + else: + text = "Notext" + 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() \ No newline at end of file diff --git a/webtests/chromedriver b/webtests/chromedriver new file mode 100755 index 00000000..754eb668 Binary files /dev/null and b/webtests/chromedriver differ diff --git a/webtests/correlation_matrix_test.py b/webtests/correlation_matrix_test.py new file mode 100644 index 00000000..21051fd7 --- /dev/null +++ b/webtests/correlation_matrix_test.py @@ -0,0 +1,118 @@ +""" + +Test Correlation matrix + +>>> test = Test() +>>> test.get("http://genenetwork.org/") +title: GeneNetwork + +Choose the type +>>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') + +Enter the Get Any +>>> test.enter_text('''//*[@id="tfor"]''', 'grin2b') +text: grin2b + +Search +>>> test.click('//*[@id="btsearch"]') + +Select the first 4 records +>>> 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''') +>>> 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''') +>>> 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''') +>>> 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''') + +>>> 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''') + +>>> sleep(5) + +A new window is created, so we switch to it +>>> test.switch_window() +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''') + + +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''') + +Another new window +>>> test.switch_window() +title: Correlation Matrix + +Sleep a bunch because this can take a while +>>> sleep(10) + +Ensure that the correlation between Trait3 (HC_M2_0606_P::1457003_at) and Trait4 (HC_M2_0606_P::1422223_at) is 0.608 +>>> test.get_text('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/blockquote/table/tbody/tr[5]/td[5]/a/font''') +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() diff --git a/webtests/correlation_test.py b/webtests/correlation_test.py new file mode 100644 index 00000000..aaf3f7df --- /dev/null +++ b/webtests/correlation_test.py @@ -0,0 +1,110 @@ +""" +Test calculate correlations + +>>> test = Test() +>>> test.get("http://genenetwork.org") +title: GeneNetwork + +Choose the type +>>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') + +Enter the Get Any +>>> test.enter_text('''//*[@id="tfor"]''', 'ssh') +text: ssh + +Search +>>> test.click('//*[@id="btsearch"]') +clicked: Search + +Choose the first result +>>> 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[2]/a''') +clicked: 1455854_a_at + +A new window is created, so we switch to it +>>> test.switch_window() +title: Hippocampus M430v2 BXD 06/06 PDNN : 1455854_a_at: Display Trait + +Click on Calculate Correlations +>>> test.click('''//*[@id="title3"]''') +clicked: Calculate Correlations + +Click on Compute +>>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[6]/table/tbody/tr/td/div/div/span/table/tbody/tr/td/input[3]''') +clicked: Compute + +Another new window +>>> test.switch_window() +title: Correlation + +Sleep a bunch because this can take a while +>>> sleep(60) + +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''') +text: 1.000 + +""" + +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 + + +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() diff --git a/webtests/libpeerconnection.log b/webtests/libpeerconnection.log new file mode 100644 index 00000000..e69de29b diff --git a/webtests/marker_regression_test.py b/webtests/marker_regression_test.py new file mode 100644 index 00000000..3baf1e95 --- /dev/null +++ b/webtests/marker_regression_test.py @@ -0,0 +1,117 @@ +""" +Test calculate correlations + +>>> test = Test() +>>> test.get("http://genenetwork.org") +title: GeneNetwork + +Choose the type +>>> test.click_option('''//*[@id="tissue"]''', 'Liver mRNA') + +Enter the Get Any +>>> test.enter_text('''//*[@id="tfor"]''', 'grin2b') +text: grin2b + +Search +>>> test.click('//*[@id="btsearch"]') +clicked: Search + +Choose the second result +>>> 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[2]/a''') +clicked: 1431700_at_A + +A new window is created, so we switch to it +>>> test.switch_window() +title: GSE16780 UCLA Hybrid MDP Liver Affy HT M430A (Sep11) RMA : 1431700_at_A: Display Trait + +Click on Mapping Tools +>>> test.click('''//*[@id="title4"]''') +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''') +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''') +clicked: Compute + +Another new window +>>> test.switch_window() +title: Genome Association Result + +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]''') +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() diff --git a/webtests/test1.py b/webtests/test1.py index c587e6e3..aaf3f7df 100644 --- a/webtests/test1.py +++ b/webtests/test1.py @@ -58,7 +58,7 @@ from selenium.webdriver.common.keys import Keys class Test(object): def __init__(self): - self.browser = webdriver.Firefox() + self.browser = webdriver.Chrome('/home/gn2/gn2/webtests/chromedriver') def get(self, url): self.browser.get(url) -- cgit v1.2.3 From e327f27b1957ee6693986e9e9d4ff77550b16f07 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Wed, 14 Aug 2013 17:30:53 -0500 Subject: Removed some duplicate files in the maintenance folder --- webtests/test1.py | 110 ----------------------- wqflask/maintenance/browser_test.py | 60 ------------- wqflask/maintenance/correlation_matrix_test.py | 117 ------------------------ wqflask/maintenance/correlation_test.py | 110 ----------------------- wqflask/maintenance/marker_regression_test.py | 118 ------------------------- 5 files changed, 515 deletions(-) delete mode 100644 webtests/test1.py delete mode 100644 wqflask/maintenance/browser_test.py delete mode 100644 wqflask/maintenance/correlation_matrix_test.py delete mode 100644 wqflask/maintenance/correlation_test.py delete mode 100644 wqflask/maintenance/marker_regression_test.py (limited to 'webtests') diff --git a/webtests/test1.py b/webtests/test1.py deleted file mode 100644 index aaf3f7df..00000000 --- a/webtests/test1.py +++ /dev/null @@ -1,110 +0,0 @@ -""" -Test calculate correlations - ->>> test = Test() ->>> test.get("http://genenetwork.org") -title: GeneNetwork - -Choose the type ->>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') - -Enter the Get Any ->>> test.enter_text('''//*[@id="tfor"]''', 'ssh') -text: ssh - -Search ->>> test.click('//*[@id="btsearch"]') -clicked: Search - -Choose the first result ->>> 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[2]/a''') -clicked: 1455854_a_at - -A new window is created, so we switch to it ->>> test.switch_window() -title: Hippocampus M430v2 BXD 06/06 PDNN : 1455854_a_at: Display Trait - -Click on Calculate Correlations ->>> test.click('''//*[@id="title3"]''') -clicked: Calculate Correlations - -Click on Compute ->>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[6]/table/tbody/tr/td/div/div/span/table/tbody/tr/td/input[3]''') -clicked: Compute - -Another new window ->>> test.switch_window() -title: Correlation - -Sleep a bunch because this can take a while ->>> sleep(60) - -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''') -text: 1.000 - -""" - -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 - - -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() diff --git a/wqflask/maintenance/browser_test.py b/wqflask/maintenance/browser_test.py deleted file mode 100644 index ecf8e1ca..00000000 --- a/wqflask/maintenance/browser_test.py +++ /dev/null @@ -1,60 +0,0 @@ -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 - -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() \ No newline at end of file diff --git a/wqflask/maintenance/correlation_matrix_test.py b/wqflask/maintenance/correlation_matrix_test.py deleted file mode 100644 index 2983a76b..00000000 --- a/wqflask/maintenance/correlation_matrix_test.py +++ /dev/null @@ -1,117 +0,0 @@ -""" - -Test Correlation matrix - ->>> test = Test() ->>> test.get("http://genenetwork.org/") -title: GeneNetwork - -Choose the type ->>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') - -Enter the Get Any ->>> test.enter_text('''//*[@id="tfor"]''', 'grin2b') -text: grin2b - -Search ->>> test.click('//*[@id="btsearch"]') - -Select the first 4 records ->>> 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''') ->>> 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''') ->>> 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''') ->>> 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''') - ->>> 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''') - ->>> sleep(5) - -A new window is created, so we switch to it ->>> test.switch_window() -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''') - -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''') - -Another new window ->>> test.switch_window() -title: Correlation Matrix - -Sleep a bunch because this can take a while ->>> sleep(10) - -Ensure that the correlation between Trait3 (HC_M2_0606_P::1457003_at) and Trait4 (HC_M2_0606_P::1422223_at) is 0.608 ->>> test.get_text('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/blockquote/table/tbody/tr[5]/td[5]/a/font''') -text: 0.608 - -""" - -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() diff --git a/wqflask/maintenance/correlation_test.py b/wqflask/maintenance/correlation_test.py deleted file mode 100644 index aaf3f7df..00000000 --- a/wqflask/maintenance/correlation_test.py +++ /dev/null @@ -1,110 +0,0 @@ -""" -Test calculate correlations - ->>> test = Test() ->>> test.get("http://genenetwork.org") -title: GeneNetwork - -Choose the type ->>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') - -Enter the Get Any ->>> test.enter_text('''//*[@id="tfor"]''', 'ssh') -text: ssh - -Search ->>> test.click('//*[@id="btsearch"]') -clicked: Search - -Choose the first result ->>> 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[2]/a''') -clicked: 1455854_a_at - -A new window is created, so we switch to it ->>> test.switch_window() -title: Hippocampus M430v2 BXD 06/06 PDNN : 1455854_a_at: Display Trait - -Click on Calculate Correlations ->>> test.click('''//*[@id="title3"]''') -clicked: Calculate Correlations - -Click on Compute ->>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[6]/table/tbody/tr/td/div/div/span/table/tbody/tr/td/input[3]''') -clicked: Compute - -Another new window ->>> test.switch_window() -title: Correlation - -Sleep a bunch because this can take a while ->>> sleep(60) - -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''') -text: 1.000 - -""" - -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 - - -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() diff --git a/wqflask/maintenance/marker_regression_test.py b/wqflask/maintenance/marker_regression_test.py deleted file mode 100644 index f4840bd7..00000000 --- a/wqflask/maintenance/marker_regression_test.py +++ /dev/null @@ -1,118 +0,0 @@ -""" -Test calculate correlations - ->>> test = Test() ->>> test.get("http://genenetwork.org") -title: GeneNetwork - -Choose the type ->>> test.click_option('''//*[@id="tissue"]''', 'Liver mRNA') -clicked: Liver mRNA - -Enter the Get Any ->>> test.enter_text('''//*[@id="tfor"]''', 'grin2b') -text: grin2b - -Search ->>> test.click('//*[@id="btsearch"]') -clicked: Search - -Choose the second result ->>> 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[2]/a''') -clicked: 1431700_at_A - -A new window is created, so we switch to it ->>> test.switch_window() -title: GSE16780 UCLA Hybrid MDP Liver Affy HT M430A (Sep11) RMA : 1431700_at_A: Display Trait - -Click on Mapping Tools ->>> test.click('''//*[@id="title4"]''') -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''') -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''') -clicked: Compute - -Another new window ->>> test.switch_window() -title: Genome Association Result - -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]''') -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() -- cgit v1.2.3 From ac4ba08c41de06f7aa91696b3643df3ff66aea46 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Fri, 16 Aug 2013 16:20:38 -0500 Subject: Removed and imported the Test class from browser_test.py in each test file --- webtests/correlation_matrix_test.py | 58 +-------------------------------- webtests/correlation_test.py | 58 +-------------------------------- webtests/marker_regression_test.py | 65 ++----------------------------------- 3 files changed, 5 insertions(+), 176 deletions(-) (limited to 'webtests') diff --git a/webtests/correlation_matrix_test.py b/webtests/correlation_matrix_test.py index 21051fd7..4047de84 100644 --- a/webtests/correlation_matrix_test.py +++ b/webtests/correlation_matrix_test.py @@ -55,64 +55,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() diff --git a/webtests/correlation_test.py b/webtests/correlation_test.py index aaf3f7df..ebdeaa52 100644 --- a/webtests/correlation_test.py +++ b/webtests/correlation_test.py @@ -47,63 +47,7 @@ text: 1.000 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 - - -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) - - +from browser_test import Test if __name__ == '__main__': import doctest diff --git a/webtests/marker_regression_test.py b/webtests/marker_regression_test.py index 3baf1e95..8932ec95 100644 --- a/webtests/marker_regression_test.py +++ b/webtests/marker_regression_test.py @@ -29,11 +29,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,7 +44,7 @@ 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 """ @@ -53,65 +53,6 @@ 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() -- cgit v1.2.3 From b9ccccf8d1cf47c33afbbb0c05d56d7a0f5039e3 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Fri, 16 Aug 2013 18:06:24 -0500 Subject: Created a file (test_runner.py) that runs every test in the directory in a row and reports the results --- webtests/browser_run.py | 68 +++++++++++++++++++++++++++++++++++++ webtests/browser_test.py | 65 ----------------------------------- webtests/correlation_matrix_test.py | 26 +++++++++----- webtests/correlation_test.py | 11 +++--- webtests/marker_regression_test.py | 9 ++--- webtests/test_runner.py | 27 +++++++++++++++ 6 files changed, 120 insertions(+), 86 deletions(-) create mode 100644 webtests/browser_run.py delete mode 100644 webtests/browser_test.py create mode 100644 webtests/test_runner.py (limited to 'webtests') diff --git a/webtests/browser_run.py b/webtests/browser_run.py new file mode 100644 index 00000000..b2058cf8 --- /dev/null +++ b/webtests/browser_run.py @@ -0,0 +1,68 @@ +from __future__ import absolute_import, division, print_function + +__all__ = ('sleep', 'testmod', 'test') + +from doctest import testmod + +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) + if el.text: + text = el.text.strip() + elif el.get_attribute("value"): + text = el.get_attribute("value").strip() + else: + text = "Notext" + 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) + + + +test = Test() \ No newline at end of file diff --git a/webtests/browser_test.py b/webtests/browser_test.py deleted file mode 100644 index 50e4d128..00000000 --- a/webtests/browser_test.py +++ /dev/null @@ -1,65 +0,0 @@ -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 - -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) - if el.text: - text = el.text.strip() - elif el.get_attribute("value"): - text = el.get_attribute("value").strip() - else: - text = "Notext" - 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() \ No newline at end of file diff --git a/webtests/correlation_matrix_test.py b/webtests/correlation_matrix_test.py index 4047de84..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,10 +65,8 @@ text: 0.608\n71 """ -from __future__ import print_function, division, absolute_import +from __future__ import absolute_import, division, print_function -from browser_test import Test +from browser_run import * -if __name__ == '__main__': - import doctest - doctest.testmod() +testmod() diff --git a/webtests/correlation_test.py b/webtests/correlation_test.py index ebdeaa52..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,10 +44,8 @@ text: 1.000 """ -from __future__ import print_function, division, absolute_import +from __future__ import absolute_import, division, print_function -from browser_test import Test +from browser_run import * -if __name__ == '__main__': - import doctest - doctest.testmod() +testmod() diff --git a/webtests/marker_regression_test.py b/webtests/marker_regression_test.py index 8932ec95..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 @@ -49,10 +48,8 @@ text: 11.511 """ -from __future__ import print_function, division, absolute_import +from __future__ import absolute_import, division, print_function -from browser_test import Test +from browser_run import * -if __name__ == '__main__': - import doctest - doctest.testmod() +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 -- cgit v1.2.3 From 668a715e3626030edad87b428678ce9eca66eb3d Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Wed, 21 Aug 2013 18:05:21 -0500 Subject: Fixed an issue where correlationFunction was being imported instead of its updated name correlation_function --- misc/notes.txt | 7 ++++ webtests/show_trait_js_test.py | 51 ++++++++++++++++++++++++ wqflask/wqflask/correlation/show_corr_results.py | 2 +- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 webtests/show_trait_js_test.py (limited to 'webtests') diff --git a/misc/notes.txt b/misc/notes.txt index ede8176b..91a0e67c 100644 --- a/misc/notes.txt +++ b/misc/notes.txt @@ -292,3 +292,10 @@ CREATE FULLTEXT INDEX __________ ON Table (Column); If <4 character searches not working: Add ft_min_word_len = 2 (to make te minimum characters 2) to config file Rebuild relevant tables with fulltext indexes with "REPAIR TABLE _______ QUICK" + +=========================================== + +To delete all .pyc files (for example if there's some issue you're having trouble resolving): +find . -name '*.pyc' -delete +http://stackoverflow.com/questions/785519/how-do-i-remove-all-pyc-files-from-a-project + diff --git a/webtests/show_trait_js_test.py b/webtests/show_trait_js_test.py new file mode 100644 index 00000000..d92cf369 --- /dev/null +++ b/webtests/show_trait_js_test.py @@ -0,0 +1,51 @@ +""" +Test calculate correlations + +>>> test.get("http://genenetwork.org") +title: GeneNetwork + +Choose the type +>>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') + +Enter the Get Any +>>> test.enter_text('''//*[@id="tfor"]''', 'ssh') +text: ssh + +Search +>>> test.click('//*[@id="btsearch"]') +clicked: Search + +Choose the first result +>>> 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[2]/a''') +clicked: 1455854_a_at + +A new window is created, so we switch to it +>>> test.switch_window() +title: Hippocampus M430v2 BXD 06/06 PDNN : 1455854_a_at: Display Trait + +Click on Calculate Correlations +>>> test.click('''//*[@id="title3"]''') +clicked: Calculate Correlations + +Click on Compute +>>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[6]/table/tbody/tr/td/div/div/span/table/tbody/tr/td/input[3]''') +clicked: Compute + +Another new window +>>> test.switch_window() +title: Correlation + +Sleep a bunch because this can take a while +>>> 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''') +text: 1.000 + +""" + +from __future__ import absolute_import, division, print_function + +from browser_test import * + +testmod() diff --git a/wqflask/wqflask/correlation/show_corr_results.py b/wqflask/wqflask/correlation/show_corr_results.py index 07d70897..1615fe21 100644 --- a/wqflask/wqflask/correlation/show_corr_results.py +++ b/wqflask/wqflask/correlation/show_corr_results.py @@ -49,7 +49,7 @@ from base.templatePage import templatePage from utility import webqtlUtil, helper_functions, corr_result_helpers from dbFunction import webqtlDatabaseFunction import utility.webqtlUtil #this is for parallel computing only. -from wqflask.correlation import correlationFunction +from wqflask.correlation import correlation_function from utility.benchmark import Bench from MySQLdb import escape_string as escape -- cgit v1.2.3 From 2db8468a8e3e802588d97bdeb64b5b638d634bb6 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Wed, 21 Aug 2013 18:10:38 -0500 Subject: Just changed a comment in the show trait js test --- webtests/show_trait_js_test.py | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) (limited to 'webtests') diff --git a/webtests/show_trait_js_test.py b/webtests/show_trait_js_test.py index d92cf369..5e8b72bf 100644 --- a/webtests/show_trait_js_test.py +++ b/webtests/show_trait_js_test.py @@ -1,46 +1,35 @@ """ -Test calculate correlations +Test if JS is working on the show trait page ->>> test.get("http://genenetwork.org") +>>> test.get("alexandria.uthsc.edu:89") title: GeneNetwork +Choose the species +>>> test.click_option('''//*[@id="species"]''', 'Human') + +Choose the group +>>> test.click_option('''//*[@id="cross"]''', 'Human Brain Transcriptome (Yale/Kavli)') + Choose the type ->>> test.click_option('''//*[@id="tissue"]''', 'Hippocampus mRNA') +>>> test.click_option('''//*[@id="tissue"]''', 'Orbital Prefrontal Cortex mRNA') Enter the Get Any >>> test.enter_text('''//*[@id="tfor"]''', 'ssh') -text: ssh +text: shh Search >>> test.click('//*[@id="btsearch"]') clicked: Search Choose the first result ->>> 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[2]/a''') -clicked: 1455854_a_at +>>> test.click('''//*[@id="KIN_YSM_OFC_0711::3081205"]/td[2]/a''') +clicked: 3081205 A new window is created, so we switch to it >>> test.switch_window() -title: Hippocampus M430v2 BXD 06/06 PDNN : 1455854_a_at: Display Trait - -Click on Calculate Correlations ->>> test.click('''//*[@id="title3"]''') -clicked: Calculate Correlations - -Click on Compute ->>> test.click('''/html/body/table/tbody/tr[3]/td/table/tbody/tr/td/form/p[6]/table/tbody/tr/td/div/div/span/table/tbody/tr/td/input[3]''') -clicked: Compute - -Another new window ->>> test.switch_window() -title: Correlation +title: KIN/YSM Human OFC Affy Hu-Exon 1.0 ST (Jul11) Quantile : 3081205: Display Trait -Sleep a bunch because this can take a while ->>> 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''') -text: 1.000 """ -- cgit v1.2.3 From b34e262f0371952fdec850483c0929d4f0a858d1 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Thu, 22 Aug 2013 16:54:13 -0500 Subject: Fixed import in show_trait_js_test.py Added a function to browser_run.py that gets an element's style --- webtests/browser_run.py | 8 +++++++- webtests/show_trait_js_test.py | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'webtests') diff --git a/webtests/browser_run.py b/webtests/browser_run.py index b2058cf8..2ec299c5 100644 --- a/webtests/browser_run.py +++ b/webtests/browser_run.py @@ -13,7 +13,8 @@ from selenium.webdriver.common.keys import Keys class Test(object): def __init__(self): - self.browser = webdriver.Chrome('/home/gn2/gn2/webtests/chromedriver') + #self.browser = webdriver.Chrome('/home/gn2/gn2/webtests/chromedriver') + self.browser = webdriver.Firefox() def get(self, url): self.browser.get(url) @@ -52,6 +53,11 @@ class Test(object): el = self.browser.find_element_by_xpath(xpath_selector) text = el.text.strip() or el.get_attribute("value").strip() print("text:", text) + + def get_element_style(self, xpath_selector): + el = self.browser.find_element_by_xpath(xpath_selector) + style = el.get_attribute("style").strip() + print("style:", style) def switch_window(self): self.browser.switch_to_window(self.browser.window_handles[-1]) diff --git a/webtests/show_trait_js_test.py b/webtests/show_trait_js_test.py index 5e8b72bf..7a98af6a 100644 --- a/webtests/show_trait_js_test.py +++ b/webtests/show_trait_js_test.py @@ -29,12 +29,14 @@ A new window is created, so we switch to it >>> test.switch_window() title: KIN/YSM Human OFC Affy Hu-Exon 1.0 ST (Jul11) Quantile : 3081205: Display Trait - +Check that the Calculate Correlations tab is closed (if javascript isn't working, it will be open) +>>> test.get_style('''//*[@id="sectionbody3"]''') +style: "display: none;" """ from __future__ import absolute_import, division, print_function -from browser_test import * +from browser_run import * testmod() -- cgit v1.2.3 From 73ad2b41c0f9ca45b06de467400184f7b1bd9d91 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Thu, 22 Aug 2013 16:58:31 -0500 Subject: Fixed a couple minor things --- webtests/show_trait_js_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'webtests') diff --git a/webtests/show_trait_js_test.py b/webtests/show_trait_js_test.py index 7a98af6a..35e6c758 100644 --- a/webtests/show_trait_js_test.py +++ b/webtests/show_trait_js_test.py @@ -14,7 +14,7 @@ Choose the type >>> test.click_option('''//*[@id="tissue"]''', 'Orbital Prefrontal Cortex mRNA') Enter the Get Any ->>> test.enter_text('''//*[@id="tfor"]''', 'ssh') +>>> test.enter_text('''//*[@id="tfor"]''', 'shh') text: shh Search @@ -30,7 +30,7 @@ A new window is created, so we switch to it title: KIN/YSM Human OFC Affy Hu-Exon 1.0 ST (Jul11) Quantile : 3081205: Display Trait Check that the Calculate Correlations tab is closed (if javascript isn't working, it will be open) ->>> test.get_style('''//*[@id="sectionbody3"]''') +>>> test.get_element_style('''//*[@id="sectionbody3"]''') style: "display: none;" """ -- cgit v1.2.3 From c5fc931621707865357ace4b637db7481e0be552 Mon Sep 17 00:00:00 2001 From: Zachary Sloan Date: Thu, 22 Aug 2013 18:18:11 -0500 Subject: Added show_trait_js_test to the tests run by test_runner Fixed the part of show_trait_js_test that checks that the style is "display: none;" --- webtests/show_trait_js_test.py | 2 +- webtests/test_runner.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'webtests') diff --git a/webtests/show_trait_js_test.py b/webtests/show_trait_js_test.py index 35e6c758..0fd2c16c 100644 --- a/webtests/show_trait_js_test.py +++ b/webtests/show_trait_js_test.py @@ -31,7 +31,7 @@ title: KIN/YSM Human OFC Affy Hu-Exon 1.0 ST (Jul11) Quantile : 3081205: Display Check that the Calculate Correlations tab is closed (if javascript isn't working, it will be open) >>> test.get_element_style('''//*[@id="sectionbody3"]''') -style: "display: none;" +style: display: none; """ diff --git a/webtests/test_runner.py b/webtests/test_runner.py index d2d6339d..ef6d0d69 100644 --- a/webtests/test_runner.py +++ b/webtests/test_runner.py @@ -4,9 +4,10 @@ import unittest import doctest import glob -#tests = ("correlation_test", -# "correlation_matrix_test", -# "marker_regression_test") +tests = ("correlation_test", + "correlation_matrix_test", + "marker_regression_test", + "show_trait_js_test") def main(): -- cgit v1.2.3