aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Sloan2013-08-21 17:47:24 -0500
committerZachary Sloan2013-08-21 17:47:24 -0500
commitf5398e8d1dde6a321d302a86fd8d8bb36789b92b (patch)
treea24013290ee45976ae3f36db6b3a80ad2e8ed082
parentff209d583e0600bf8ac3efb64e59507adf77a21f (diff)
parentb9ccccf8d1cf47c33afbbb0c05d56d7a0f5039e3 (diff)
downloadgenenetwork2-f5398e8d1dde6a321d302a86fd8d8bb36789b92b.tar.gz
Merge branch 'master' of https://github.com/zsloan/genenetwork
-rw-r--r--webtests/browser_run.py (renamed from webtests/browser_test.py)11
-rw-r--r--webtests/correlation_matrix_test.py86
-rw-r--r--webtests/correlation_test.py67
-rw-r--r--webtests/marker_regression_test.py78
-rw-r--r--webtests/test_runner.py27
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