1

我有一些 JMeter 脚本,它们通过 HTTP 调用来测试我自己的 Web 服务,这些脚本是用 Spring 编写的。我希望为每个构建自动执行 JMeter 脚本并测试构建是否良好。所以,正如建议的那样:- http://ribblescode.wordpress.com/2012/04/16/how-to-run-jmeter-tests-with-maven/我已经设置了我的 Spring Web 服务项目的 Maven .pom 文件来定义 Jmeter 插件。而且,我已将我的 JMeter 脚本添加到 src/test/JMeter。现在,我使用 Eclipse 作为我的 IDE,当我的项目已经在 Eclipse 中的 Tomcat 上运行时(运行方式-> 在服务器上运行),然后使用此设置在我的项目上运行方式->Maven 安装,它会执行 JMeter脚本和按预期工作。但是,如果我的 Web 服务尚未在 Tomcat 上运行,Maven 构建将失败,因为 JMeter 无法成功进行 HTTP 调用。现在,我的问题是这个设置意味着 JMeter 脚本实际上是在调用已经运行的旧版本,而不是在我点击 Run As-> Maven Install 时生成的新版本上。

那么,在这种情况下,我该如何拥有它,以便当我进行一些代码更改,然后使用 Maven 进行新构建时,它首先部署它,然后在这个新构建上运行 JMeter 脚本?

4

1 回答 1

1

Maven 不打算测试在您的 Eclipse 中运行的 Tomcat。Jmeter 是一个集成测试工具,因此您所要做的就是在适当的 maven 生命周期阶段安装适当的插件。您需要采取的行动:

预集成测试阶段步骤

  1. 下载并解压Tomcat
  2. 部署打包的 webapp
  3. 启动tomcat

集成测试阶段步骤

  1. 下载并解压 Jmeter(例如使用 maven-dependency-plugin)
  2. 运行 jmeter 测试

集成测试后阶段

  1. 停止Tomcat

这就是你所需要的。Cargo Maven Plugin可以使用一种工具,它可以帮助您进行部署、启动和停止。

一个例子在这里http://www.alexecollins.com/content/jmeter-integration-test-template-pom/

如果您有兴趣,也可以为您的 JMeter 测试收集覆盖率信息:http: //docs.codehaus.org/display/SONAR/Code+Coverage+by+Integration+Tests+for+Java+Project

于 2013-09-24T19:25:56.260 回答