带有 Selenium 的 Jmeter 按顺序而不是并行地运行场景
Jmeter with Selenium runs scenario Sequentially and not paralelly
我们有一个 Junit 框架,我们在其中使用 Java/Selenium 编写了方法(有时我们也将其用于回归测试)。我们将其映射到 JMX 文件的方法相同,然后触发 Jmeter 来测试我们的性能测试。所有方法都有@Test注解供Jmeter检测。
我正在通过命令提示符使用命令启动 Jmeter
jmeter.bat -n -t c:\dev\test.jmx -Jusers = 3
Jmeter 启动了 3 个浏览器,但只有当我将浏览器置于焦点时才会对浏览器进行操作,也就是说,如果焦点位于浏览器 1 中,则用户名将输入,如果焦点位于浏览器 2 中,则类似。如果没有聚焦,那么该方法就失败了。我该如何克服这个问题。
提前致谢。
行为良好的 Selenium 测试不应要求浏览器处于焦点状态,否则将无法通过 Selenium Grid or in Headless mode 执行测试。
所以我的预期是问题与 JMeter 无关,而是与您的 Selenium Java 代码有关,它依赖于浏览器获得焦点,请检查您的代码并确保您是仅使用 Selenium API(或 Java API)进行任何浏览器操作,包括:
- 填写表格
- 正在上传文件
- 正在下载文件
- 等等
例如,如果您正在使用任何 Robot class 函数 - 这些 class 是重构的主题。
一旦我们开始在无头模式下执行 Chrome,上述问题就解决了。现在一切正常。
我们有一个 Junit 框架,我们在其中使用 Java/Selenium 编写了方法(有时我们也将其用于回归测试)。我们将其映射到 JMX 文件的方法相同,然后触发 Jmeter 来测试我们的性能测试。所有方法都有@Test注解供Jmeter检测。
我正在通过命令提示符使用命令启动 Jmeter
jmeter.bat -n -t c:\dev\test.jmx -Jusers = 3
Jmeter 启动了 3 个浏览器,但只有当我将浏览器置于焦点时才会对浏览器进行操作,也就是说,如果焦点位于浏览器 1 中,则用户名将输入,如果焦点位于浏览器 2 中,则类似。如果没有聚焦,那么该方法就失败了。我该如何克服这个问题。
提前致谢。
行为良好的 Selenium 测试不应要求浏览器处于焦点状态,否则将无法通过 Selenium Grid or in Headless mode 执行测试。
所以我的预期是问题与 JMeter 无关,而是与您的 Selenium Java 代码有关,它依赖于浏览器获得焦点,请检查您的代码并确保您是仅使用 Selenium API(或 Java API)进行任何浏览器操作,包括:
- 填写表格
- 正在上传文件
- 正在下载文件
- 等等
例如,如果您正在使用任何 Robot class 函数 - 这些 class 是重构的主题。
一旦我们开始在无头模式下执行 Chrome,上述问题就解决了。现在一切正常。