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 |