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

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

Issue 11884058: [chromedriver] Implement commands: findChildElement, findChildElements. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 7 years, 11 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
« no previous file with comments | « chrome/test/chromedriver/js/call_function_test.html ('k') | chrome/test/chromedriver/status.h » ('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 (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
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
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))
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/js/call_function_test.html ('k') | chrome/test/chromedriver/status.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698