首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Selenium脚本和JMeter进行负载测试

使用Selenium脚本和JMeter进行负载测试
EN

Stack Exchange QA用户
提问于 2012-06-20 07:34:27
回答 1查看 10K关注 0票数 3

在JSF web应用程序上创建50个用户负载测试时,我面临一个无法跟踪的问题。

我所遵循的方法是:

  1. 使用Selenium在Eclipse中编写测试脚本。
  2. 将测试脚本导出为JAR,并将其放在JMeter的/lib/junit文件夹中。
  3. 我在JMeter中的测试计划是:“测试计划”
    • 螺纹组
    • JUnit请求。
    • jp@gc - Perfmon Metrics收集器。
    • 查看结果树。

  4. 我要么在QA本地构建服务器上启动Perfmon Metrics收集器serverAgent,要么启动应用程序的Amazon中间实例,并在我的serverAgent客户端的Perfmon Metrics收集器侦听器中添加服务器的IP和端口号(serverAgent正在运行的位置)。
  5. 由于我使用的采样器是一个JUnit请求,所以我通过Selenium代码管理多个用户。这是示例硒脚本。在JMeter控制台上,我提供线程组中的线程数。
  6. 与Perfmon度量收集器一起,我在服务器终端上使用命令: top \ grep java来检查负载。
  7. 在启动JMeter测试用例之前,我运行Selenium服务器。

现在,我面临的问题是:

  • 我不能在一台机器上运行超过4-6个用户(线程)的JMeter测试计划,因为对于n个用户,selenium服务器创建了2n个浏览器实例。(在我的例子中,Chrome)如果用户超过6,它实际上会杀死CPU!所以,这里我所做的就是在6台机器上安装了JMeter,以创建至少30-36个用户的负载。但这也不起作用。
  • Perfmon度量收集器显示高负载,而在应用服务器上运行的top | grep java命令显示没有负载/小负载。因此,我无法理解测试是否真的导致了应用程序的负载。
  • 如果我有10个用户手动使用应用程序来创建一个load,这将显示应用程序的Amazon小实例上的负载量很大。在自动负载测试中也没有发生同样的情况。

我知道并阅读过Selenium不应该用于负载测试,因为它不是为负载测试设计的。我在JMeter中使用Selenium脚本的唯一原因是,由于在JMeter上运行代理记录的测试用例时出现的JSessionID和ViewState问题,JMeter没有使用JMeter应用程序。

那么,是否有其他方法可以使用其他工具/其他方法在JSF应用程序上创建一个真正的负载,而不必担心JSessionID和ViewState?

建议/更正将非常有帮助。如果需要更多与我的查询相关的输入,请指出它们。我是自动化和负载测试方面的新手,如果我不能正确地解释事情,请耐心地对待我。

EN

回答 1

Stack Exchange QA用户

回答已采纳

发布于 2012-06-23 06:28:16

最后,我找到了解决我所面临的问题的方法。我只需要弄清楚我必须在哪些请求上放置viewState提取器。实际上,我将提取器放在响应中viewState存在的每个请求中,并在下一个请求中使用提取器的引用。

票数 4
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/3313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档