Index: chrome/test/chromedriver/test.py |
diff --git a/chrome/test/chromedriver/test.py b/chrome/test/chromedriver/test.py |
index e8fe41dbaf3646e73ef892af9f8ff5963d849c47..dd939aa445b58d93bd1849712d1190be3ffbc88e 100644 |
--- a/chrome/test/chromedriver/test.py |
+++ b/chrome/test/chromedriver/test.py |
@@ -10,40 +10,60 @@ import sys |
import unittest |
import chromedriver |
+import webserver |
+ |
+_THIS_DIR = os.path.abspath(os.path.dirname(__file__)) |
+sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib')) |
+ |
+from common import chrome_paths |
class ChromeDriverTest(unittest.TestCase): |
"""End to end tests for ChromeDriver.""" |
+ @classmethod |
+ def setUpClass(cls): |
+ cls._http_server = webserver.WebServer(chrome_paths.GetTestData()) |
chrisgao (Use stgao instead)
2013/01/05 01:19:10
HTTP server is shared by all testcases.
|
+ |
+ @classmethod |
+ def tearDownClass(cls): |
+ cls._http_server.Shutdown() |
+ |
+ @staticmethod |
+ def GetHttpUrlForFile(file_path): |
+ return ChromeDriverTest._http_server.GetUrl() + file_path |
+ |
+ def setUp(self): |
chrisgao (Use stgao instead)
2013/01/05 01:19:10
Add setUp and tearDown to ensure that chrome windo
|
+ self._driver = chromedriver.ChromeDriver(_CHROMEDRIVER_LIB, _CHROME_BINARY) |
+ |
+ def tearDown(self): |
+ self._driver.Quit() |
+ |
def testStartStop(self): |
- driver = chromedriver.ChromeDriver(_CHROMEDRIVER_LIB, _CHROME_BINARY) |
- driver.Quit() |
+ pass |
def testLoadUrl(self): |
- driver = chromedriver.ChromeDriver(_CHROMEDRIVER_LIB, _CHROME_BINARY) |
- driver.Load('http://www.google.com') |
- driver.Quit() |
+ self._driver.Load(self.GetHttpUrlForFile('/chromedriver/empty.html')) |
def testEvaluateScript(self): |
- driver = chromedriver.ChromeDriver(_CHROMEDRIVER_LIB, _CHROME_BINARY) |
- self.assertEquals(1, driver.ExecuteScript('return 1')) |
- self.assertEquals(None, driver.ExecuteScript('')) |
- driver.Quit() |
+ self.assertEquals(1, self._driver.ExecuteScript('return 1')) |
+ self.assertEquals(None, self._driver.ExecuteScript('')) |
def testEvaluateScriptWithArgs(self): |
- driver = chromedriver.ChromeDriver(_CHROMEDRIVER_LIB, _CHROME_BINARY) |
script = ('document.body.innerHTML = "<div>b</div><div>c</div>";' + |
'return {stuff: document.querySelectorAll("div")};') |
- stuff = driver.ExecuteScript(script)['stuff'] |
+ stuff = self._driver.ExecuteScript(script)['stuff'] |
script = 'return arguments[0].innerHTML + arguments[1].innerHTML'; |
- self.assertEquals('bc', driver.ExecuteScript(script, stuff[0], stuff[1])) |
- driver.Quit() |
+ self.assertEquals( |
+ 'bc', self._driver.ExecuteScript(script, stuff[0], stuff[1])) |
def testEvaluateInvalidScript(self): |
- driver = chromedriver.ChromeDriver(_CHROMEDRIVER_LIB, _CHROME_BINARY) |
self.assertRaises(chromedriver.ChromeDriverException, |
- driver.ExecuteScript, '{{{') |
- driver.Quit() |
+ self._driver.ExecuteScript, '{{{') |
+ |
+ def testGetTitle(self): |
+ self._driver.Load(self.GetHttpUrlForFile('/chromedriver/page_test.html')) |
+ self.assertEqual('page test', self._driver.GetTitle()) |
chrisgao (Use stgao instead)
2013/01/05 01:19:10
As Load returns before the page is fully loaded, t
kkania
2013/01/08 21:26:29
We can't use load then until it waits for the navi
chrisgao (Use stgao instead)
2013/01/08 22:23:34
Done.
|
if __name__ == '__main__': |