获取Chrome性能和跟踪日志 [英] Getting chrome performance and tracing logs
问题描述
我试图按照使用WebDriver进行网络性能测试中提出的想法 google测试自动化会议讨论和ChromeDriver 性能日志文档页面获取我想要的跟踪数据以后再提交给网页测试进行性能分析。
如何检索性能日志使用 python selenium bindings ?
我试图打印出 log_types
驱动程序实例
from selenium import webdriver
driver = webdriver.Chrome()
driver .get('https://stackoverflow.com')
print driver.log_types
driver.close()
但只有
[u'browser', u'driver']
我没有看到相关的命令行切换。
性能日志默认为禁用。
要启用它,请使用 DesiredCapabilities
并配置 loggingPrefs
:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.CHROME
caps ['loggingPrefs'] = {'performance':'ALL'}
driver = webdriver.Chrome(desired_capabilities = caps)
driver.get('https://stackoverflow.com ')
用于输入driver.get_log('performance'):
打印输入
driver.close()
$ c $
<$ p $
$ b 这导致了一大堆打印在控制台上的跟踪日志条目: p> {u'timestamp':1419487459178,u'message':u'{message:{method:Network.responseReceived,params:{frameId:2105.1 loaderId: 2105 0.2\" , 的requestId: 2105.1, 响应:{ 的ConnectionId:0 connectionReused:假 encodedDataLength: - 1, fromDiskCache:假 fromServiceWorker:假,报头:{ 访问控制允许来源 : *, 内容类型: text / plain的;字符集= US-ASCII}, mime类型: text / plain的, 状态: 200, 状态文本: OK, URL: 数据:,}, 时间戳:1419487458.92934, 类型: 文档}}, 网页视图:2C66E956-A48B-456B-8A4E- 1022F699AA92}',u'level':u'INFO'}
{u'timestamp':1419487459178,u'message':u'{message:{method:Network.loadingFinished, params:{encodedDataLength:0,requestId:2105.1,timestamp:1419487458.92936}},webview:2C66E956-A48B-456B-8A4E-1022F699AA92}',u'level': u'INFO':{method:Page.frameNavigated,params:{frame:{ ID: 2105.1, loaderId: 2105.2, mime类型: 文本/无格式, securityOrigin: ://, URL: 数据:,}}}, webview:2C66E956-A48B-456B-8A4E-1022F699AA92}',u'级别': u'INFO'}
...
I'm trying to follow the idea suggested in the Web Performance Testing with WebDriver google test automation conference talk and ChromeDriver "Performance Log" documentation page to get the trace data which I want to submit to webpagetest for performance analysis later.
How can I retrieve performance logs using python selenium bindings?
I've tried to print out log_types
available in the driver instance
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://stackoverflow.com')
print driver.log_types
driver.close()
but got only
[u'browser', u'driver']
And I don't see a relevant command-line switch.
Performance logs are disabled by default.
To enable it, use DesiredCapabilities
and configure loggingPrefs
:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps)
driver.get('https://stackoverflow.com')
for entry in driver.get_log('performance'):
print entry
driver.close()
This results into a bunch of tracing log entries printed on the console:
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Network.responseReceived","params":{"frameId":"2105.1","loaderId":"2105.2","requestId":"2105.1","response":{"connectionId":0,"connectionReused":false,"encodedDataLength":-1,"fromDiskCache":false,"fromServiceWorker":false,"headers":{"Access-Control-Allow-Origin":"*","Content-Type":"text/plain;charset=US-ASCII"},"mimeType":"text/plain","status":200,"statusText":"OK","url":"data:,"},"timestamp":1419487458.92934,"type":"Document"}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'}
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"2105.1","timestamp":1419487458.92936}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'}
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Page.frameNavigated","params":{"frame":{"id":"2105.1","loaderId":"2105.2","mimeType":"text/plain","securityOrigin":"://","url":"data:,"}}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'}
...
这篇关于获取Chrome性能和跟踪日志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!