【发布时间】:2020-07-18 21:29:56
【问题描述】:
有什么区别
直接使用性能测试工具(Jmeter,..)
使用插件(Jmeter ,..)将性能测试工具与 selenium 集成。
我是否可以通过这两种方式实现所有功能。
如果作为插件使用会有什么限制吗?
谢谢。
【问题讨论】:
标签: selenium testing selenium-webdriver performance-testing jmeter-plugins
有什么区别
直接使用性能测试工具(Jmeter,..)
使用插件(Jmeter ,..)将性能测试工具与 selenium 集成。
我是否可以通过这两种方式实现所有功能。
如果作为插件使用会有什么限制吗?
谢谢。
【问题讨论】:
标签: selenium testing selenium-webdriver performance-testing jmeter-plugins
性能测试工具作用于HTTP协议级别,基本上和浏览器差不多,特别是JMeter:
JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并没有执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不会像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。
因此您只能使用 JMeter 测试 backend 的性能,但您不会得到 client-side performance metrics
基于协议的测试占用的资源(CPU、RAM 等)要少得多,因此您可以使用中端现代笔记本电脑模拟数千个虚拟用户。
Selenium 是一个浏览器自动化框架,它操作真正的浏览器,所以:
基于浏览器的测试在资源方面占用大量资源,因为浏览器非常资源密集型,例如Firefox 74 每个浏览器实例需要 1 个 CPU 内核和 2 GB RAM,因此您可以启动中端现代笔记本电脑上只有几个浏览器
根据您的要求,您可能希望使用 JMeter 测试后端或使用 Selenium 测试前端,或者使用 JMeter 创建主要负载并使用 1-2 个真实浏览器来测试客户端性能。
如果您正在寻找将 JMeter 与 Selenium 集成的方法,请查看 WebDriver Sampler(它是一个 JMeter Plugin,可以使用 JMeter Plugins Manager 安装)
【讨论】: