| Index: chrome/test/webdriver/webdriver_remote_tests.py
|
| ===================================================================
|
| --- chrome/test/webdriver/webdriver_remote_tests.py (revision 76851)
|
| +++ chrome/test/webdriver/webdriver_remote_tests.py (working copy)
|
| @@ -18,10 +18,11 @@
|
| import types
|
| import unittest
|
| import urllib2
|
| -from selenium.common.exceptions import ErrorInResponseException
|
| -from selenium.common.exceptions import NoSuchElementException
|
| -from selenium.remote.webdriver import WebDriver
|
| -from selenium.remote.webdriver.webelement import WebElement
|
| +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
|
| +from selenium.webdriver.common.exceptions import ErrorInResponseException
|
| +from selenium.webdriver.common.exceptions import NoSuchElementException
|
| +from selenium.webdriver.remote.webdriver import WebDriver
|
| +from selenium.webdriver.remote.webelement import WebElement
|
| from urlparse import urlparse
|
|
|
|
|
| @@ -54,7 +55,7 @@
|
| self.assertURL(url)
|
|
|
| def assertURL(self, url):
|
| - u = self.driver.get_current_url()
|
| + u = self.driver.current_url
|
| self.assertEqual(u, url)
|
|
|
| """A new instance of chrome driver is started for every test case"""
|
| @@ -69,7 +70,7 @@
|
| sys.exit(-1)
|
|
|
| time.sleep(5)
|
| - self.driver = WebDriver.WebDriver(WEBDRIVER_SERVER_URL, "chrome", "ANY")
|
| + self.driver = WebDriver(WEBDRIVER_SERVER_URL, {})
|
| self.assertTrue(self.driver)
|
|
|
| def tearDown(self):
|
| @@ -96,7 +97,43 @@
|
| search = string.lower(search)
|
| self.assertNotEqual(-1, string.find(text, search))
|
|
|
| +class RemoteWebdriverNativeEventsTest(RemoteWebDriverTest):
|
| + def setUp(self):
|
| + global WEBDRIVER_SERVER_URL
|
| + global WEBDRIVER_PROCESS
|
| + WEBDRIVER_PROCESS = subprocess.Popen([WEBDRIVER_EXE,
|
| + '--port=%d' % WEBDRIVER_PORT])
|
| + if WEBDRIVER_PROCESS == None:
|
| + print "Chromium executable not found. The path used was: "
|
| + print WEBDRIVER_EXE
|
| + sys.exit(-1)
|
|
|
| + time.sleep(5)
|
| + custom_cap = DesiredCapabilities.CHROME
|
| + custom_cap["chrome"] = {"nativeEvents" : True}
|
| + self.driver = WebDriver(WEBDRIVER_SERVER_URL, custom_cap)
|
| + self.assertTrue(self.driver)
|
| +
|
| + def testCanStartWithNativeEventsCapabilities(self):
|
| + self.assertTrue(self.driver.capabilities["chrome"]["nativeEvents"])
|
| +
|
| + def testSendKeysNative(self):
|
| + self.navigate(SEARCH)
|
| + # Find the Google search Button.
|
| + q = self.driver.find_element_by_name("q")
|
| + # Send some keys.
|
| + q.send_keys("toukyou")
|
| + self.assertEqual(q.get_text(), "toukyou")
|
| +
|
| + def testSendKeysNativeIME(self):
|
| + self.navigate(SEARCH)
|
| + q = self.driver.find_element_by_name("q")
|
| + #TODO(timothe): Send the key combination that switches an JPN IME on/OFF.
|
| + #q.send_keys(Keys.F7)
|
| + q.send_keys("toukyou")
|
| + self.assertEqual(q.get_text(), "\xe6\x9d\xb1\xe4\xba\xac")
|
| +
|
| +
|
| class TestFindElement(RemoteWebDriverTest):
|
| def testFindByName(self):
|
| self.navigate(SEARCH)
|
| @@ -119,7 +156,7 @@
|
| q = self.driver.find_element_by_name("oq")
|
| self.assertTrue(isinstance(q, WebElement))
|
|
|
| - def testFindElementById(self):
|
| + def testFindElementById(self):
|
| self.navigate(SEARCH)
|
| # Find the padding for the logo near the search bar.
|
| elem = self.driver.find_element_by_id("logocont")
|
| @@ -163,7 +200,7 @@
|
| q = self.driver.find_element_by_name("oq")
|
| self.assertTrue(isinstance(q, WebElement))
|
|
|
| - def testFindElementById(self):
|
| + def testFindElementById(self):
|
| self.navigate(SEARCH)
|
| # Find the padding for the logo near the search bar.
|
| elem = self.driver.find_element_by_id("logocont")
|
| @@ -276,7 +313,7 @@
|
| 'be started for testing; This flag is ignored if '
|
| '--url is provided for a remote server.'))
|
| parser.add_option('-p', '--port', dest='port', action='store',
|
| - type='int', default=8080,
|
| + type='int', default=WEBDRIVER_PORT,
|
| help=('The port to start the WebDriver server executable '
|
| 'on; This flag is ignored if --url is provided for a '
|
| 'remote server.'))
|
|
|