| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """End to end tests for ChromeDriver.""" | 6 """End to end tests for ChromeDriver.""" |
| 7 | 7 |
| 8 import ctypes | 8 import ctypes |
| 9 import optparse | 9 import optparse |
| 10 import os | 10 import os |
| 11 import sys | 11 import sys |
| 12 import unittest | 12 import unittest |
| 13 | 13 |
| 14 import chromedriver | 14 import chromedriver |
| 15 import webserver | 15 import webserver |
| 16 from webelement import WebElement |
| 16 | 17 |
| 17 _THIS_DIR = os.path.abspath(os.path.dirname(__file__)) | 18 _THIS_DIR = os.path.abspath(os.path.dirname(__file__)) |
| 18 sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib')) | 19 sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib')) |
| 19 | 20 |
| 20 from common import chrome_paths | 21 from common import chrome_paths |
| 21 from common import unittest_util | 22 from common import unittest_util |
| 22 | 23 |
| 23 | 24 |
| 24 class ChromeDriverTest(unittest.TestCase): | 25 class ChromeDriverTest(unittest.TestCase): |
| 25 """End to end tests for ChromeDriver.""" | 26 """End to end tests for ChromeDriver.""" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 self._driver.SwitchToFrame('name') | 80 self._driver.SwitchToFrame('name') |
| 80 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) | 81 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) |
| 81 self._driver.SwitchToMainFrame() | 82 self._driver.SwitchToMainFrame() |
| 82 self.assertTrue(self._driver.ExecuteScript('return window.top == window')) | 83 self.assertTrue(self._driver.ExecuteScript('return window.top == window')) |
| 83 self._driver.SwitchToFrameByIndex(0) | 84 self._driver.SwitchToFrameByIndex(0) |
| 84 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) | 85 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) |
| 85 | 86 |
| 86 def testGetTitle(self): | 87 def testGetTitle(self): |
| 87 script = 'document.title = "title"; return 1;' | 88 script = 'document.title = "title"; return 1;' |
| 88 self.assertEquals(1, self._driver.ExecuteScript(script)) | 89 self.assertEquals(1, self._driver.ExecuteScript(script)) |
| 89 self.assertEqual('title', self._driver.GetTitle()) | 90 self.assertEquals('title', self._driver.GetTitle()) |
| 90 | 91 |
| 91 def testFindElement(self): | 92 def testFindElement(self): |
| 92 self._driver.ExecuteScript( | 93 self._driver.ExecuteScript( |
| 93 'document.body.innerHTML = "<div>a</div><div>b</div>";') | 94 'document.body.innerHTML = "<div>a</div><div>b</div>";') |
| 94 self.assertEqual(1, len(self._driver.FindElement('tag name', 'div'))) | 95 self.assertTrue( |
| 96 isinstance(self._driver.FindElement('tag name', 'div'), WebElement)) |
| 95 | 97 |
| 96 def testFindElements(self): | 98 def testFindElements(self): |
| 97 self._driver.ExecuteScript( | 99 self._driver.ExecuteScript( |
| 98 'document.body.innerHTML = "<div>a</div><div>b</div>";') | 100 'document.body.innerHTML = "<div>a</div><div>b</div>";') |
| 99 self.assertEqual(2, len(self._driver.FindElements('tag name', 'div'))) | 101 result = self._driver.FindElements('tag name', 'div') |
| 102 self.assertTrue(isinstance(result, list)) |
| 103 self.assertEquals(2, len(result)) |
| 104 for item in result: |
| 105 self.assertTrue(isinstance(item, WebElement)) |
| 106 |
| 107 def testFindChildElement(self): |
| 108 self._driver.ExecuteScript( |
| 109 'document.body.innerHTML = "<div><br><br></div><div><a></a></div>";') |
| 110 element = self._driver.FindElement('tag name', 'div') |
| 111 self.assertTrue( |
| 112 isinstance(element.FindElement('tag name', 'br'), WebElement)) |
| 113 |
| 114 def testFindChildElements(self): |
| 115 self._driver.ExecuteScript( |
| 116 'document.body.innerHTML = "<div><br><br></div><div><br></div>";') |
| 117 element = self._driver.FindElement('tag name', 'div') |
| 118 result = element.FindElements('tag name', 'br') |
| 119 self.assertTrue(isinstance(result, list)) |
| 120 self.assertEquals(2, len(result)) |
| 121 for item in result: |
| 122 self.assertTrue(isinstance(item, WebElement)) |
| 100 | 123 |
| 101 def testGetCurrentUrl(self): | 124 def testGetCurrentUrl(self): |
| 102 self.assertEqual('about:blank', self._driver.GetCurrentUrl()) | 125 self.assertEqual('about:blank', self._driver.GetCurrentUrl()) |
| 103 | 126 |
| 104 def testGoBackAndGoForward(self): | 127 def testGoBackAndGoForward(self): |
| 105 self._driver.Load(self.GetHttpUrlForFile('/chromedriver/empty.html')) | 128 self._driver.Load(self.GetHttpUrlForFile('/chromedriver/empty.html')) |
| 106 self._driver.GoBack() | 129 self._driver.GoBack() |
| 107 self._driver.GoForward() | 130 self._driver.GoForward() |
| 108 | 131 |
| 109 def testRefresh(self): | 132 def testRefresh(self): |
| (...skipping 26 matching lines...) Expand all Loading... |
| 136 else: | 159 else: |
| 137 _CHROME_BINARY = None | 160 _CHROME_BINARY = None |
| 138 | 161 |
| 139 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( | 162 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( |
| 140 sys.modules[__name__]) | 163 sys.modules[__name__]) |
| 141 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) | 164 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) |
| 142 ChromeDriverTest.GlobalSetUp(); | 165 ChromeDriverTest.GlobalSetUp(); |
| 143 result = unittest.TextTestRunner().run(tests) | 166 result = unittest.TextTestRunner().run(tests) |
| 144 ChromeDriverTest.GlobalTearDown(); | 167 ChromeDriverTest.GlobalTearDown(); |
| 145 sys.exit(len(result.failures) + len(result.errors)) | 168 sys.exit(len(result.failures) + len(result.errors)) |
| OLD | NEW |