Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1276)

Side by Side Diff: chrome/test/chromedriver/test/run_py_tests.py

Issue 1882603003: [Chromedriver] Add testcase for testing alert on new window. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reland - Disable test in _NEGATIVE_FILTER Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/test/data/chromedriver/alert_onload.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 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 json 9 import json
10 import math 10 import math
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 'ChromeExtensionsCapabilityTest.testWaitsForExtensionToLoad', 60 'ChromeExtensionsCapabilityTest.testWaitsForExtensionToLoad',
61 # TODO: re-enable tests when DevTools supports ScreenOrientation commands. 61 # TODO: re-enable tests when DevTools supports ScreenOrientation commands.
62 'ChromeDriverAndroidTest.testScreenOrientation', 62 'ChromeDriverAndroidTest.testScreenOrientation',
63 'ChromeDriverAndroidTest.testMultipleScreenOrientationChanges', 63 'ChromeDriverAndroidTest.testMultipleScreenOrientationChanges',
64 'ChromeDriverAndroidTest.testDeleteScreenOrientationManual', 64 'ChromeDriverAndroidTest.testDeleteScreenOrientationManual',
65 'ChromeDriverAndroidTest.testScreenOrientationAcrossMultipleTabs', 65 'ChromeDriverAndroidTest.testScreenOrientationAcrossMultipleTabs',
66 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=1503 66 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=1503
67 'ChromeDriverTest.testShadowDomHover', 67 'ChromeDriverTest.testShadowDomHover',
68 'ChromeDriverTest.testMouseMoveTo', 68 'ChromeDriverTest.testMouseMoveTo',
69 'ChromeDriverTest.testHoverOverElement', 69 'ChromeDriverTest.testHoverOverElement',
70 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=833
71 'ChromeDriverTest.testAlertOnNewWindow',
70 ] 72 ]
71 73
72 _VERSION_SPECIFIC_FILTER = {} 74 _VERSION_SPECIFIC_FILTER = {}
73 _VERSION_SPECIFIC_FILTER['HEAD'] = [ 75 _VERSION_SPECIFIC_FILTER['HEAD'] = [
74 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=992 76 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=992
75 'ChromeDownloadDirTest.testDownloadDirectoryOverridesExistingPreferences', 77 'ChromeDownloadDirTest.testDownloadDirectoryOverridesExistingPreferences',
76 ] 78 ]
77 _VERSION_SPECIFIC_FILTER['58'] = [ 79 _VERSION_SPECIFIC_FILTER['58'] = [
78 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=1673 80 # https://bugs.chromium.org/p/chromedriver/issues/detail?id=1673
79 'ChromeDriverPageLoadTimeoutTest.testPageLoadTimeoutCrossDomain', 81 'ChromeDriverPageLoadTimeoutTest.testPageLoadTimeoutCrossDomain',
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 # WebView on KitKat. 206 # WebView on KitKat.
205 'ChromeDriverTest.testGetUrlOnInvalidUrl', 207 'ChromeDriverTest.testGetUrlOnInvalidUrl',
206 # The WebView shell that we test against (on KitKat) does not perform 208 # The WebView shell that we test against (on KitKat) does not perform
207 # cross-process navigations. 209 # cross-process navigations.
208 # TODO(samuong): reenable when it does. 210 # TODO(samuong): reenable when it does.
209 'ChromeDriverPageLoadTimeoutTest.testPageLoadTimeoutCrossDomain', 211 'ChromeDriverPageLoadTimeoutTest.testPageLoadTimeoutCrossDomain',
210 'ChromeDriverPageLoadTimeoutTest.' 212 'ChromeDriverPageLoadTimeoutTest.'
211 'testHistoryNavigationWithPageLoadTimeout', 213 'testHistoryNavigationWithPageLoadTimeout',
212 # Webview shell doesn't support Alerts. 214 # Webview shell doesn't support Alerts.
213 'ChromeDriverTest.testAlert', 215 'ChromeDriverTest.testAlert',
216 'ChromeDriverTest.testAlertOnNewWindow',
214 'ChromeDesiredCapabilityTest.testUnexpectedAlertBehaviour', 217 'ChromeDesiredCapabilityTest.testUnexpectedAlertBehaviour',
215 'ChromeDriverTest.testAlertHandlingOnPageUnload', 218 'ChromeDriverTest.testAlertHandlingOnPageUnload',
216 ] 219 ]
217 ) 220 )
218 221
219 222
220 class ChromeDriverBaseTest(unittest.TestCase): 223 class ChromeDriverBaseTest(unittest.TestCase):
221 """Base class for testing chromedriver functionalities.""" 224 """Base class for testing chromedriver functionalities."""
222 225
223 def __init__(self, *args, **kwargs): 226 def __init__(self, *args, **kwargs):
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 def testAlert(self): 783 def testAlert(self):
781 self.assertFalse(self._driver.IsAlertOpen()) 784 self.assertFalse(self._driver.IsAlertOpen())
782 self._driver.ExecuteScript('window.confirmed = confirm(\'HI\');') 785 self._driver.ExecuteScript('window.confirmed = confirm(\'HI\');')
783 self.assertTrue(self._driver.IsAlertOpen()) 786 self.assertTrue(self._driver.IsAlertOpen())
784 self.assertEquals('HI', self._driver.GetAlertMessage()) 787 self.assertEquals('HI', self._driver.GetAlertMessage())
785 self._driver.HandleAlert(False) 788 self._driver.HandleAlert(False)
786 self.assertFalse(self._driver.IsAlertOpen()) 789 self.assertFalse(self._driver.IsAlertOpen())
787 self.assertEquals(False, 790 self.assertEquals(False,
788 self._driver.ExecuteScript('return window.confirmed')) 791 self._driver.ExecuteScript('return window.confirmed'))
789 792
793 def testAlertOnNewWindow(self):
794 self._driver.Load(self.GetHttpUrlForFile('/chromedriver/empty.html'))
795 old_windows = self._driver.GetWindowHandles()
796 self._driver.ExecuteScript("window.open('%s')" %
797 self.GetHttpUrlForFile('/chromedriver/alert_onload.html'))
798 new_window = self.WaitForNewWindow(self._driver, old_windows)
799 self.assertNotEqual(None, new_window)
800 self._driver.SwitchToWindow(new_window)
801 self.assertTrue(self._driver.IsAlertOpen())
802 self._driver.HandleAlert(False)
803 self.assertFalse(self._driver.IsAlertOpen())
804
790 def testShouldHandleNewWindowLoadingProperly(self): 805 def testShouldHandleNewWindowLoadingProperly(self):
791 """Tests that ChromeDriver determines loading correctly for new windows.""" 806 """Tests that ChromeDriver determines loading correctly for new windows."""
792 self._http_server.SetDataForPath( 807 self._http_server.SetDataForPath(
793 '/newwindow', 808 '/newwindow',
794 """ 809 """
795 <html> 810 <html>
796 <body> 811 <body>
797 <a href='%s' target='_blank'>new window/tab</a> 812 <a href='%s' target='_blank'>new window/tab</a>
798 </body> 813 </body>
799 </html>""" % self._sync_server.GetUrl()) 814 </html>""" % self._sync_server.GetUrl())
(...skipping 1618 matching lines...) Expand 10 before | Expand all | Expand 10 after
2418 2433
2419 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( 2434 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule(
2420 sys.modules[__name__]) 2435 sys.modules[__name__])
2421 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) 2436 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter)
2422 ChromeDriverTest.GlobalSetUp() 2437 ChromeDriverTest.GlobalSetUp()
2423 MobileEmulationCapabilityTest.GlobalSetUp() 2438 MobileEmulationCapabilityTest.GlobalSetUp()
2424 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests) 2439 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests)
2425 ChromeDriverTest.GlobalTearDown() 2440 ChromeDriverTest.GlobalTearDown()
2426 MobileEmulationCapabilityTest.GlobalTearDown() 2441 MobileEmulationCapabilityTest.GlobalTearDown()
2427 sys.exit(len(result.failures) + len(result.errors)) 2442 sys.exit(len(result.failures) + len(result.errors))
OLDNEW
« no previous file with comments | « no previous file | chrome/test/data/chromedriver/alert_onload.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698