 Chromium Code Reviews
 Chromium Code Reviews Issue 6630001:
  Allow webdriver users to choose between sending the key events when...  (Closed) 
  Base URL: http://src.chromium.org/svn/trunk/src/
    
  
    Issue 6630001:
  Allow webdriver users to choose between sending the key events when...  (Closed) 
  Base URL: http://src.chromium.org/svn/trunk/src/| 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): | 
| 
kkania
2011/03/10 00:28:58
Do not add to this file. I was planning on deletin
 
timothe faudot
2011/03/10 05:34:32
Where should I add those tests then?
 | 
| + 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.')) |