c# - 负载测试 - 在 Jmeter 中运行 C# selenium 脚本
问题描述
我在 C# 中有一个带有 Selenium 测试用例的 MSTest 项目。
我看到 Jmeter 曾经使用 Java Selenium 脚本。如何为多个用户同时将这些 C# 脚本运行到 Jmeter 中进行负载测试?
输出只为项目生成一个 .DLL。
解决方案
CLR和JVM是“外星人”,因此您将无法在 JMeter 中运行 C# 测试。
此外,使用真实的浏览器进行负载测试并不是最好的主意,因为浏览器非常耗费资源(最新的 Firefox需要 1 个 CPU 内核和 2 GB 的 RAM ),因此您可以通过这种方式模拟的虚拟用户数量太有限了与基于HTTP 协议的负载测试相比,资源占用要少得多。此外,您不会获得可以分析的指标
所以选项在:
使用OS Process Sampler以多线程方式在命令行模式下运行您的MSTest 解决方案(但是,由于 JMeter 不知道每秒点击次数和响应时间,因此您将无法获得良好的分析结果)
将您的 MSTest 解决方案转换为“纯”JMeter 测试,选项位于:
- 将 Selenium 配置为使用 JMeter 作为代理并通过 JMeter 的HTTP(S) 测试脚本记录器重放您的测试,这样您就可以将来自浏览器的请求转换为 JMeter 的HTTP 请求采样器,这些采样器可以随着负载的增加而重放
- 此选项与上述选项几乎相同,但它假设更多自动化,您可以通过Taurus工具执行测试并使用其Proxy2JMX 子系统进行测试转换
推荐阅读
- angularjs - 在没有功能的情况下增加 AngularJS 控制器中的测试覆盖率
- r - 提取字符之间的字符串并包含新行?
- jooq - 使用 JOOQ 从 POJO 设置字段为空
- az - az sql server ad-admin create 在 azure devops 中失败,出现 puython 错误
- javascript - ReactJs:如何构建 npm 库
- javascript - Node 应用程序的 Heroku 部署返回 node-waf: not found
- python - 从 Numpy 数组或 Python 列表中删除前导的 None 项
- sql - 仅显示每种类型的传感器 sql 问题中的一种
- python - python matplotlib plotly graph_objects 如何保存图形
- sql - 基于行间共享属性的新ID