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 71b225a8b60b2bd336165cc2d2132ec836cc90e7..131a97af96769cc78c0867b828dbc64f92507a43 100755 |
| --- a/chrome/test/chromedriver/test/run_py_tests.py |
| +++ b/chrome/test/chromedriver/test/run_py_tests.py |
| @@ -895,6 +895,45 @@ class ChromeDriverLogTest(unittest.TestCase): |
| self.assertTrue(self.LOG_MESSAGE in f.read()) |
| +class PerformanceLoggerTest(ChromeDriverBaseTest): |
| + """Tests chromedriver tracing support and Inspector event collection.""" |
| + |
| + def testPerformanceLogger(self): |
| + driver = self.CreateDriver( |
| + experimental_options={'perfLoggingPrefs': { |
| + 'enableTimeline': True, |
| + 'traceCategories': 'webkit.console,blink.console' |
| + }}, performance_log_level='ALL') |
| + driver.Load( |
| + ChromeDriverTest._http_server.GetUrl() + '/chromedriver/empty.html') |
| + # Mark the timeline; later we will verify the marks appear in the trace. |
| + driver.ExecuteScript('console.time("foobar")') |
| + driver.ExecuteScript('console.timeEnd("foobar")') |
| + logs = driver.GetLog('performance') |
| + driver.Quit() |
| + |
| + marked_timeline_events = [] |
| + seen_log_domains = {} |
| + for entry in logs: |
| + devtools_message = json.loads(entry['message'])['message'] |
| + method = devtools_message['method'] |
| + domain = method[:method.find('.')] |
| + seen_log_domains[domain] = True |
| + if method != 'Tracing.dataCollected': |
| + continue |
| + self.assertTrue('params' in devtools_message) |
| + self.assertTrue(isinstance(devtools_message['params'], dict)) |
| + cat = devtools_message['params'].get('cat', '') |
| + # Depending on Chrome version, the events may occur for the webkit.console |
| + # or blink.console category. They will only occur for one of them. |
| + if (cat == 'blink.console' or cat == 'webkit.console'): |
| + self.assertTrue(devtools_message['params']['name'] == 'foobar') |
| + marked_timeline_events.append(devtools_message) |
| + self.assertTrue(len(marked_timeline_events) == 2) |
| + self.assertTrue(set(seen_log_domains.keys()) == |
| + {'Network', 'Page', 'Timeline', 'Tracing'}) |
|
samuong
2014/08/19 20:02:50
can use assertEqual(expected,actual) here
|
| + |
| + |
| class SessionHandlingTest(ChromeDriverBaseTest): |
| """Tests for session operations.""" |
| def testQuitASessionMoreThanOnce(self): |