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

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

Issue 12226026: [ChromeDriver] Select the main frame if a non-existant child frame is targeted. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: watch for message and make test non-racey Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
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 time
kkania 2013/02/06 23:45:26 x
craigdh 2013/02/07 00:05:37 Done.
12 import unittest 13 import unittest
13 14
14 import chromedriver 15 import chromedriver
15 import webserver 16 import webserver
16 from webelement import WebElement 17 from webelement import WebElement
17 18
18 _THIS_DIR = os.path.abspath(os.path.dirname(__file__)) 19 _THIS_DIR = os.path.abspath(os.path.dirname(__file__))
19 sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib')) 20 sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib'))
20 21
21 from common import chrome_paths 22 from common import chrome_paths
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) 78 self.assertTrue(self._driver.ExecuteScript('return window.top != window'))
78 self._driver.SwitchToMainFrame() 79 self._driver.SwitchToMainFrame()
79 self.assertTrue(self._driver.ExecuteScript('return window.top == window')) 80 self.assertTrue(self._driver.ExecuteScript('return window.top == window'))
80 self._driver.SwitchToFrame('name') 81 self._driver.SwitchToFrame('name')
81 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) 82 self.assertTrue(self._driver.ExecuteScript('return window.top != window'))
82 self._driver.SwitchToMainFrame() 83 self._driver.SwitchToMainFrame()
83 self.assertTrue(self._driver.ExecuteScript('return window.top == window')) 84 self.assertTrue(self._driver.ExecuteScript('return window.top == window'))
84 self._driver.SwitchToFrameByIndex(0) 85 self._driver.SwitchToFrameByIndex(0)
85 self.assertTrue(self._driver.ExecuteScript('return window.top != window')) 86 self.assertTrue(self._driver.ExecuteScript('return window.top != window'))
86 87
88 def testExecuteInRemovedFrame(self):
89 self._driver.ExecuteScript(
90 'var frame = document.createElement("iframe");'
91 'frame.id="id";'
92 'frame.name="name";'
93 'document.body.appendChild(frame);'
94 'window.addEventListener("message",'
95 ' function(event) { document.body.removeChild(frame); });')
96 self.assertTrue(self._driver.ExecuteScript('return window.top == window'))
97 self._driver.SwitchToFrame('id')
98 self.assertTrue(self._driver.ExecuteScript('return window.top != window'))
99 self._driver.ExecuteScript('parent.postMessage("remove", "*");')
100 self.assertTrue(self._driver.ExecuteScript('return window.top == window'))
101
87 def testGetTitle(self): 102 def testGetTitle(self):
88 script = 'document.title = "title"; return 1;' 103 script = 'document.title = "title"; return 1;'
89 self.assertEquals(1, self._driver.ExecuteScript(script)) 104 self.assertEquals(1, self._driver.ExecuteScript(script))
90 self.assertEquals('title', self._driver.GetTitle()) 105 self.assertEquals('title', self._driver.GetTitle())
91 106
92 def testFindElement(self): 107 def testFindElement(self):
93 self._driver.ExecuteScript( 108 self._driver.ExecuteScript(
94 'document.body.innerHTML = "<div>a</div><div>b</div>";') 109 'document.body.innerHTML = "<div>a</div><div>b</div>";')
95 self.assertTrue( 110 self.assertTrue(
96 isinstance(self._driver.FindElement('tag name', 'div'), WebElement)) 111 isinstance(self._driver.FindElement('tag name', 'div'), WebElement))
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 else: 285 else:
271 _CHROME_BINARY = None 286 _CHROME_BINARY = None
272 287
273 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( 288 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule(
274 sys.modules[__name__]) 289 sys.modules[__name__])
275 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) 290 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter)
276 ChromeDriverTest.GlobalSetUp(); 291 ChromeDriverTest.GlobalSetUp();
277 result = unittest.TextTestRunner().run(tests) 292 result = unittest.TextTestRunner().run(tests)
278 ChromeDriverTest.GlobalTearDown(); 293 ChromeDriverTest.GlobalTearDown();
279 sys.exit(len(result.failures) + len(result.errors)) 294 sys.exit(len(result.failures) + len(result.errors))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698