Chromium Code Reviews| Index: chrome/test/chromedriver/test/run_py_tests.py |
| diff --git a/chrome/test/chromedriver/test/run_py_tests.py b/chrome/test/chromedriver/test/run_py_tests.py |
| index dce78013ac4df70909d9d2e14b4cf72e7594389f..923ed838d49f02ff79b4e3223953023c10d4694d 100755 |
| --- a/chrome/test/chromedriver/test/run_py_tests.py |
| +++ b/chrome/test/chromedriver/test/run_py_tests.py |
| @@ -175,7 +175,7 @@ _ANDROID_NEGATIVE_FILTER['chromium'] = ( |
| ) |
| _ANDROID_NEGATIVE_FILTER['chromedriver_webview_shell'] = ( |
| _ANDROID_NEGATIVE_FILTER['chrome'] + [ |
| - 'PerformanceLoggerTest.testPerformanceLogger', |
| + 'ChromeLoggingCapabilityTest.testPerformanceLogger', |
| 'ChromeDriverTest.testShadowDom*', |
| # WebView doesn't support emulating network conditions. |
| 'ChromeDriverTest.testEmulateNetworkConditions', |
| @@ -1062,6 +1062,25 @@ class ChromeDriverTest(ChromeDriverBaseTestWithWebServer): |
| # navigation tracker to block the call to Load() above. |
| self.WaitForCondition(lambda: 'is not available' in self._driver.GetTitle()) |
| + def testSendCommand(self): |
| + """Sends a custom command to the DevTools debugger""" |
| + params = {} |
| + res = self._driver.SendCommandAndGetResult('CSS.enable', params) |
| + self.assertEqual({}, res) |
| + |
| + def testSendCommandNoParams(self): |
| + """Sends a custom command to the DevTools debugger without params""" |
| + self.assertRaisesRegexp( |
| + chromedriver.UnknownError, "params not passed", |
| + self._driver.SendCommandAndGetResult, 'CSS.enable', None) |
| + |
| + def testSendCommandAndGetResult(self): |
| + """Sends a custom command to the DevTools debugger and gets the result""" |
| + self._driver.Load(self.GetHttpUrlForFile('/chromedriver/page_test.html')) |
| + params = {} |
| + document = self._driver.SendCommandAndGetResult('DOM.getDocument', params) |
| + self.assertTrue('root' in document) |
| + |
| def testShadowDomFindElementWithSlashDeep(self): |
| """Checks that chromedriver can find elements in a shadow DOM using /deep/ |
| css selectors.""" |
| @@ -2217,7 +2236,7 @@ class ChromeDriverLogTest(ChromeDriverBaseTest): |
| self.assertNotIn('bosco', f.read()) |
| -class PerformanceLoggerTest(ChromeDriverBaseTest): |
| +class ChromeLoggingCapabilityTest(ChromeDriverBaseTest): |
| """Tests chromedriver tracing support and Inspector event collection.""" |
| def testPerformanceLogger(self): |
| @@ -2252,6 +2271,19 @@ class PerformanceLoggerTest(ChromeDriverBaseTest): |
| self.assertEquals({'Network', 'Page', 'Tracing'}, |
| set(seen_log_domains.keys())) |
| + def testDevToolsEventsLogger(self): |
| + """Tests that the correct event type (and no other) is logged""" |
| + event = 'Page.loadEventFired' |
| + driver = self.CreateDriver( |
| + devtools_events_to_log=[event], logging_prefs={'devtools':'ALL'}) |
| + driver.Load('about:blank') |
| + logs = driver.GetLog('devtools') |
| + print logs |
|
stgao
2017/05/03 20:24:44
need removing
em
2017/05/04 01:11:22
Done.
|
| + for entry in logs: |
| + devtools_message = json.loads(entry['message']) |
| + method = devtools_message['method'] |
| + self.assertTrue('params' in devtools_message) |
| + self.assertEquals(event, method) |
| class SessionHandlingTest(ChromeDriverBaseTest): |
| """Tests for session operations.""" |