当前位置: 首页 > 面试题库 >

获取Chrome性能和跟踪日志

芮琛
2023-03-14
问题内容

我正在尝试遵循Web性能测试与WebDriver谷歌测试自动化大会演讲和ChromeDriver
“性能日志”文档页面中提出的想法,以获取要提交给webtest稍后进行性能分析的跟踪数据。

如何使用 pythonselenium绑定 检索性能日志?

我试图打印出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
 #as per latest docs
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps)

driver.get('https://stackoverflow.com')

for entry in driver.get_log('performance'):
    print(entry)

driver.quit()

这导致在控制台上打印了一堆跟踪日志条目:

{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'}
...


 类似资料:
  • 本章介绍如何使用Zipkin或Jaeger收集启用了Istio的应用程序的调用链信息。 完成本章后,你可以理解有关应用程序的所有假设以及如何使其参与跟踪,无论您使用何种语言/框架/平台构建应用程序。 BookInfo示例用来作为此任务的示例应用程序。 环境准备 参照安装指南的说明安装Istio。 如果您在安装过程中未启动Zipkin或Jaeger插件,则可以运行以下命令启动: 启动Zipkin:

  • 描述演示如何从服务网格收集遥测信息的任务。 分布式跟踪。如何配置代理,以便向Zipkin或Jaeger发送跟踪请求 收集metrics和日志。这个任务展示如何配置Istio来收集metrics和日志。 收集TCP服务的Metrics。这个任务展示如何为TCP服务收集metrics和日志。 从Prometheus中查询Metrics。这个任务展示如何使用Prometheus查询metrics。 使用

  • 本章展示如何配置Istio来自动收集mesh中服务的遥测数据。 在本章末尾,将为mesh中的服务调用启用新的metric和新的日志流。 BookInfo应用将作为介绍本章内容的示例应用。 开始之前 在集群中安装Istio并部署一个应用程序。 本章假设Mixer使用默认配置(--configDefaultNamespace=istio-system)。 如果使用不同的值,则更新这个任务中的配置和命令

  • 跟踪钩子宏是一个很强大的功能,用来收集嵌入式应用的相关数据。freeRTOS提供的源代码中的跟踪宏是空的,因此开发者可以根据自己的需求设计宏需要跟踪的数据,不使用的空的宏不会影响应用程序的时序。 如下几个使用跟踪宏的例子: 设置一个数字输出,用来表明当前执行的任务。可以使用逻辑分析仪来观察、记录、分析任务的执行序列及时序 相似的,可以设置模拟输出,比如电压,则可以使用示波器来观察时序 记录任务的执

  • 该项目 为了寻找解决方案,我首先使用maven在执行LiquiBase:Update时将变更日志的SVN修订版存储到中。基于修订版号检索变更日志容易出错。 我已经花了一周的时间来寻找一个健壮的解决方案,在谷歌上搜索了几个小时,构建了几个测试用例(使用了适应的父级和具体的POM,部分使用了maven scm插件等等),但没有运气。最初,我计划使用LiquiBase:tag存储文件路径+修订,但只有当

  • 此任务将展示如何配置 Istio 创建自定义日志条目并且发送给 Fluentd 守护进程。Fluentd 是一个开源的日志收集器, 支持多种数据输出并且有一个可插拔架构。 Elasticsearch是一个流行的后端日志记录程序, Kibana 用于查看。在任务结束后, 一个新的日志流将被加载发送日志到示例 Fluentd/Elasticsearch/Kibana 栈。 在任务中,将使用 BookI