UI用户场景的负载测试-Jmeter Webdriver采样器

UI用户场景的负载测试-Jmeter Webdriver采样器,jmeter,webdriver,Jmeter,Webdriver,我想在mendix应用程序上运行基本负载测试场景。 最初的要求是至少10个用户应该能够同时执行一些活动,如登录、文件上传。 我已经将Jmeter中的webdriver采样器与selenium一起使用,并为操作编写了JS脚本。 问题是它在同一台机器上启动了10个浏览器 请建议正确的处理方法。目前看来,我得到的错误是因为我在笔记本电脑上运行测试,而不是分布式设置 对于单个用户,整个脚本需要60秒才能完成。启动时间应该是多少 如果不是Jmeter,请针对该场景推荐任何其他合适的工具 根据文章 Q.如

我想在mendix应用程序上运行基本负载测试场景。 最初的要求是至少10个用户应该能够同时执行一些活动,如登录、文件上传。 我已经将Jmeter中的webdriver采样器与selenium一起使用,并为操作编写了JS脚本。 问题是它在同一台机器上启动了10个浏览器

  • 请建议正确的处理方法。目前看来,我得到的错误是因为我在笔记本电脑上运行测试,而不是分布式设置
  • 对于单个用户,整个脚本需要60秒才能完成。启动时间应该是多少
  • 如果不是Jmeter,请针对该场景推荐任何其他合适的工具
根据文章

Q.如何分配WebDriver采样器?

A.首先,不要使用WebDriver采样器来创建负载每个虚拟用户需要大约1个CPU核心,才能将JMeter资源消耗保持在可接受的范围内。除了HTTP请求采样器之外,还应该使用WebDriver采样器。下面是一个如何使用它的示例:

  • HTTP请求采样器模拟了1000个用户
  • 1个用户是WebDriver采样器
您应该使用WebDriver采样器来评估现实生活中的用户体验。它最常用于在系统负载较高时测量页面的加载时间。HTTP请求并不真正“呈现”页面,也不能执行JavaScript。这就是为什么WebDriver采样器如此有价值——JMeter不是浏览器,它克服了这一事实带来的限制

因此,首先我建议重新考虑您的方法并迁移到采样器,您可能可以执行10个浏览器,但如果您需要将测试扩展到100或1000个用户,您肯定无法使用这种“真正的浏览器”方法,而HTTP请求采样器在HTTP协议级别上运行,如果您正确地配置了JMeter,那么对于被测试的应用程序来说,无论请求是来自JMeter还是来自真实的浏览器,都不会有什么区别,而且资源占用也会少很多


关于启动时间:总体思路是逐渐增加负载,以便您可以将不断变化的虚拟用户数量与不断变化的指标(如响应时间、吞吐量等)关联起来。根据JMeter文档:

爬升周期告诉JMeter需要多长时间才能“爬升”到所选的全部线程数。如果使用10个线程,并且爬升周期为100秒,那么JMeter将花费100秒来启动并运行所有10个线程。每个线程将在前一个线程开始后10(100/10)秒开始。如果有30个线程且爬升周期为120秒,则每个后续线程将延迟4秒

爬升需要足够长,以避免在测试开始时产生过大的工作负载,并且足够短,以使最后一个线程在第一个线程完成之前开始运行(除非您希望这样)

Ramp up=线程数开始,根据需要向上或向下调整