java - 从可配置的 JAR 运行 JMeter

标签 java junit jmeter integration-testing performance-testing

我想要一个可以从开发人员的计算机上运行或作为 CI 构建的一部分运行的 myapp-tester.jar。其目的是测试 myapp.war。我想使用 JMeter 作为测试工具的基础。

我发现(以某种方式)可以编写启动 JMeter 的 JUnit 测试。我想知道是否可以将此代码打包到可执行 JAR 中,然后从命令行运行它?

这样,我就可以将 URL 作为系统属性进行注入(inject),并在不同的环境中测试相同的应用程序:

java -jar myapp-tester.jar -Durl="http://devmyapp01.example.com"
java -jar myapp-tester.jar -Durl="http://qamyapp01.example.com"

等等。如果这是可能的,我该怎么做?

最佳答案

可以从 Java 代码启动 JMeter 测试,有 2 个选项:

  1. 运行现有的 .jmx 文件
  2. 使用 JMeter 的 API 即时创建性能测试。

参见5 Ways To Launch a JMeter Test without Using the JMeter GUI第 4 章:通过程序(从 Java 代码)运行 JMeter 测试,了解所有必要的详细信息。

JMeter“理解”全局系统属性,因此可以通过 Java 系统属性传递被测应用程序的 URL。

关于java - 从可配置的 JAR 运行 JMeter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25436334/

相关文章:

Jmeter 3.2-NonGUIDriver org.apache.jorphan.util.JMeterStopTestException 中的错误

java - 如何从 JavaScript(AJAX 请求)向 Servlet 发送和捕获参数

java - HQL 选择结果范围

java - 表达式的计算结果可能为 null,但由声明为 @NotNull 的方法返回

android - 如何在 ui 线程上注入(inject)并等待注入(inject)完成后再继续?

java - 在类中找不到 JMETER Beanshell ( java.lang.String )

java - 如何在 sleep 模式下使用移动网络运行后台服务?

java - Mockito - 方法内的测试方法

java - 具有不确定性的 JUnit 日期时间比较

jmeter - Gattle vs Jmeter - 每个请求的响应时间存在巨大差异