【发布时间】:2016-06-01 18:48:52
【问题描述】:
我使用 Selenium 和 Chrome 驱动程序,还启用了性能日志记录,以便更好地了解测试期间的问题。性能日志似乎是一个 json 数组,其中包含 chrome 的 DevTool 协议消息。是否存在任何工具可以让我在 Chrome 的开发工具选项卡中可视化此日志。
以下是日志中的示例条目:
{
"message": {
"method": "Network.requestWillBeSent",
"params": {
"documentURL": "https://******/",
"frameId": "15976.2",
"initiator": {
"type": "other"
},
"loaderId": "15976.3",
"request": {
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"
},
"initialPriority": "VeryHigh",
"method": "GET",
"mixedContentType": "none",
"url": "https://********/"
},
"requestId": "15976.1",
"timestamp": 80251.314924,
"type": "Document",
"wallTime": 1455928917.89989
}
},
"webview": "D0C1AD9A-D631-4238-9A74-F873A7908EFB"
}
【问题讨论】:
-
根据您要投入多少精力,您可以使用 ELK 堆栈...将 JSON 传输到 Logstash (elastic.co/guide/en/logstash/current/input-plugins.html),将其输出到 Elasticsearch,然后使用 Kibana (elastic.co/products/kibana ) 对其进行可视化和查询。
-
我在跳跃,我不必做繁重的工作来定义如何可视化它。特别是因为 chrome 已经做到了。只有当我可以将它导入到 chrome 时。每次运行时,我都会将此日志和一堆其他日志和屏幕截图复制到 dfs 上的一个文件夹中,以便我的开发人员查看他们的测试结果。如果他们可以将其导入工具并获得视觉效果,那就太棒了。
-
想一想,这肯定和网络标签显示的内容一样吗?您是否尝试过导出 HAR 文件并将其可视化?我对此有几个想法。可视化是否必须自动化?
-
是的,它是完全相同的日志,Chrome 开发工具用于创建网络、跟踪和时间线选项卡。在 chrome 驱动程序中提供 perf log 之前,我曾经添加一个我编写的插件来获取 HAR 文件。尝试停用它,现在可以访问开发工具协议消息。
标签: google-chrome selenium google-chrome-devtools selenium-chromedriver