Chromium Code Reviews| 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 base64 | 8 import base64 |
| 9 import optparse | 9 import optparse |
| 10 import os | 10 import os |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 61 _DESKTOP_NEGATIVE_FILTER = {} | 61 _DESKTOP_NEGATIVE_FILTER = {} |
| 62 _DESKTOP_NEGATIVE_FILTER['HEAD'] = ( | 62 _DESKTOP_NEGATIVE_FILTER['HEAD'] = ( |
| 63 _DESKTOP_OS_SPECIFIC_FILTER + [ | 63 _DESKTOP_OS_SPECIFIC_FILTER + [ |
| 64 # https://code.google.com/p/chromedriver/issues/detail?id=213 | 64 # https://code.google.com/p/chromedriver/issues/detail?id=213 |
| 65 'ChromeDriverTest.testClickElementInSubFrame', | 65 'ChromeDriverTest.testClickElementInSubFrame', |
| 66 # This test is flaky since it uses setTimeout. | 66 # This test is flaky since it uses setTimeout. |
| 67 # Re-enable once crbug.com/177511 is fixed and we can remove setTimeout. | 67 # Re-enable once crbug.com/177511 is fixed and we can remove setTimeout. |
| 68 'ChromeDriverTest.testAlert', | 68 'ChromeDriverTest.testAlert', |
| 69 # Desktop doesn't support TAP. | 69 # Desktop doesn't support TAP. |
| 70 'ChromeDriverTest.testSingleTapElement', | 70 'ChromeDriverTest.testSingleTapElement', |
| 71 'ChromeDriverTest.testTouchDownUpElement', | |
| 71 ] | 72 ] |
| 72 ) | 73 ) |
| 73 | 74 |
| 74 | 75 |
| 75 def _GetDesktopNegativeFilter(version_name): | 76 def _GetDesktopNegativeFilter(version_name): |
| 76 if version_name in _DESKTOP_NEGATIVE_FILTER: | 77 if version_name in _DESKTOP_NEGATIVE_FILTER: |
| 77 return _DESKTOP_NEGATIVE_FILTER[version_name] | 78 return _DESKTOP_NEGATIVE_FILTER[version_name] |
| 78 return _DESKTOP_NEGATIVE_FILTER['HEAD'] | 79 return _DESKTOP_NEGATIVE_FILTER['HEAD'] |
| 79 | 80 |
| 80 | 81 |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 357 ' div.innerHTML="new<br>";' | 358 ' div.innerHTML="new<br>";' |
| 358 '});' | 359 '});' |
| 359 'return div;') | 360 'return div;') |
| 360 div.Click() | 361 div.Click() |
| 361 self.assertEquals(1, len(self._driver.FindElements('tag name', 'br'))) | 362 self.assertEquals(1, len(self._driver.FindElements('tag name', 'br'))) |
| 362 | 363 |
| 363 def testSingleTapElement(self): | 364 def testSingleTapElement(self): |
| 364 div = self._driver.ExecuteScript( | 365 div = self._driver.ExecuteScript( |
| 365 'document.body.innerHTML = "<div>old</div>";' | 366 'document.body.innerHTML = "<div>old</div>";' |
| 366 'var div = document.getElementsByTagName("div")[0];' | 367 'var div = document.getElementsByTagName("div")[0];' |
| 367 'div.addEventListener("click", function() {' | 368 'div.addEventListener("touchend", function() {' |
| 368 ' var div = document.getElementsByTagName("div")[0];' | 369 ' var div = document.getElementsByTagName("div")[0];' |
| 369 ' div.innerHTML="new<br>";' | 370 ' div.innerHTML="new<br>";' |
| 370 '});' | 371 '});' |
| 371 'return div;') | 372 'return div;') |
| 372 div.SingleTap() | 373 div.SingleTap() |
| 373 self.assertEquals(1, len(self._driver.FindElements('tag name', 'br'))) | 374 self.assertEquals(1, len(self._driver.FindElements('tag name', 'br'))) |
| 374 | 375 |
| 376 def testTouchDownUpElement(self): | |
|
frankf
2013/08/06 01:28:21
What about move?
craigdh
2013/08/06 22:03:10
Done.
| |
| 377 div = self._driver.ExecuteScript( | |
| 378 'document.body.innerHTML = "<div>old</div>";' | |
| 379 'var div = document.getElementsByTagName("div")[0];' | |
| 380 'div.addEventListener("touchend", function() {' | |
| 381 ' var div = document.getElementsByTagName("div")[0];' | |
|
frankf
2013/08/06 01:28:21
why recompute?
craigdh
2013/08/06 22:03:10
Hmm, not sure. The javascript was mostly copied fr
| |
| 382 ' div.innerHTML="new<br>";' | |
| 383 '});' | |
| 384 'return div;') | |
| 385 loc = div.GetLocation() | |
| 386 self._driver.TouchDown(loc['x'], loc['y']) | |
| 387 self._driver.TouchUp(loc['x'], loc['y']) | |
| 388 self.assertEquals(1, len(self._driver.FindElements('tag name', 'br'))) | |
| 389 | |
| 375 def testClickElementInSubFrame(self): | 390 def testClickElementInSubFrame(self): |
| 376 self._driver.Load(self.GetHttpUrlForFile('/chromedriver/frame_test.html')) | 391 self._driver.Load(self.GetHttpUrlForFile('/chromedriver/frame_test.html')) |
| 377 frame = self._driver.FindElement('tag name', 'iframe') | 392 frame = self._driver.FindElement('tag name', 'iframe') |
| 378 self._driver.SwitchToFrame(frame) | 393 self._driver.SwitchToFrame(frame) |
| 379 # Test clicking element in the sub frame. | 394 # Test clicking element in the sub frame. |
| 380 self.testClickElement() | 395 self.testClickElement() |
| 381 | 396 |
| 382 def testClearElement(self): | 397 def testClearElement(self): |
| 383 text = self._driver.ExecuteScript( | 398 text = self._driver.ExecuteScript( |
| 384 'document.body.innerHTML = \'<input type="text" value="abc">\';' | 399 'document.body.innerHTML = \'<input type="text" value="abc">\';' |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 741 negative_filter = _GetDesktopNegativeFilter(options.chrome_version) | 756 negative_filter = _GetDesktopNegativeFilter(options.chrome_version) |
| 742 options.filter = '*-' + ':__main__.'.join([''] + negative_filter) | 757 options.filter = '*-' + ':__main__.'.join([''] + negative_filter) |
| 743 | 758 |
| 744 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( | 759 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( |
| 745 sys.modules[__name__]) | 760 sys.modules[__name__]) |
| 746 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) | 761 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) |
| 747 ChromeDriverTest.GlobalSetUp() | 762 ChromeDriverTest.GlobalSetUp() |
| 748 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests) | 763 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests) |
| 749 ChromeDriverTest.GlobalTearDown() | 764 ChromeDriverTest.GlobalTearDown() |
| 750 sys.exit(len(result.failures) + len(result.errors)) | 765 sys.exit(len(result.failures) + len(result.errors)) |
| OLD | NEW |