【发布时间】:2019-07-09 16:05:20
【问题描述】:
我们已有使用 selenium-chrome-driver 用 Java 编写的 Web 测试用例。 现在我们要在执行这些测试后检查浏览器内存泄漏。
手动,我使用 Chrome 开发工具 - 内存选项卡来完成。进行堆转储,在我开始测试之前,执行测试,然后再次进行堆转储。比较这两个提供堆增量的堆转储。
我找不到 selenium-chrome-dev-tools API,我可以使用它启动 Chrome Dev Tool 内存分析器(可能还有其他一些工具),运行我的 WebDriver 测试(实例化 Chrome 浏览器实例,操作 DOM 元素等),然后停止分析器,然后检查分析器的结果以查看是否有任何内存泄漏。
这个概念是否可行,或者我可以出去吃午饭了吗?为什么/为什么不?
另一方面,我遇到了 https://github.com/samccone/drool 使用 which,我可以获得此信息,但问题是我将不得不用 javascript 重写所有现有的 java selenium 测试,除非我可以集成 drool与现有的硒测试。
请提出建议。
注意:Chrome Dev Tools API & Selenium WebDriver 下已经提出了类似的问题,但我还没有看到太多有用的答案,所以再次发布更多详细信息。
【问题讨论】:
-
您的内存泄漏测试是针对较小规模的应用程序用户负载还是较大规模的应用程序用户负载?我习惯于使用 Jmeter 和 Gatling 等负载和性能测试工具来测试内存泄漏。根据您监控的性能计数器,生成的报告可以告诉您更多关于内存泄漏的信息。
-
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem 以及迄今为止为解决它所做的工作。
-
这听起来像是 X-Y 问题。
标签: java selenium google-chrome selenium-webdriver google-chrome-devtools