java - Jmeter - java 编码。如何获取输出数据?

标签 java apache maven jenkins jmeter

我尝试使用Jmeter开源+java来模拟压力测试并从Jenkins运行它们。该项目是用 Maven 构建的,所以我没有 Jenkins 的问题。但在将请求发送到服务器后我无法捕获输出信息。

 public void runTest( String url,String user,int URLnumber) {
    StandardJMeterEngine jm = new StandardJMeterEngine();
    // jmeter.properties
    JMeterUtils.loadJMeterProperties("./jmeter.properties");

    HashTree hashTree = new HashTree();

    // HTTP Sampler
    HTTPSampler httpSampler = new HTTPSampler();
    httpSampler.setDomain(url);
    //httpSampler.setPort(80);
    httpSampler.setPath("/");
    httpSampler.setMethod("POST");
    httpSampler.addArgument("post_id","51015");
    httpSampler.addArgument("variant","");

    // Loop Controller
    TestElement loopCtrl = new LoopController();
    ((LoopController)loopCtrl).setLoops(1);
    ((LoopController)loopCtrl).addTestElement(httpSampler);
    ((LoopController)loopCtrl).setFirst(true);

    // Thread Group
    SetupThreadGroup threadGroup = new SetupThreadGroup();
    threadGroup.setNumThreads(25);
    threadGroup.setRampUp(5);
    threadGroup.setSamplerController((LoopController)loopCtrl);

    org.apache.jmeter.reporters.Summariser summariser = new Summariser();

    // Test plan
    TestPlan testPlan = new TestPlan("MY TEST PLAN");

    hashTree.add("testPlan", testPlan);
    hashTree.add("loopCtrl", loopCtrl);
    hashTree.add("threadGroup", threadGroup);
    hashTree.add("httpSampler", httpSampler);

    jm.configure(hashTree);

    jm.run();
}

可能有人知道如何通过 Jenkins 配置 Jmeter,无需编码,并在 Jenkins 控制台中获取结果。但我认为这是不可能的。

最佳答案

你见过Jenkins Performance Plugin吗?哪个支持JMeter?

如果出于任何原因不适合,Jenkins 至少可以执行以下目标:

  1. Shell 脚本
  2. Ant 任务
  3. Maven 简介

JMeter 可以通过上述所有方法启动,而无需编写一行 Java 代码。请参阅5 Ways To Launch a JMeter Test without Using the JMeter GUI了解详情。

关于java - Jmeter - java 编码。如何获取输出数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826089/

相关文章:

java - 我如何解析 Ping 请求(字符串)的 Ping 时间(整数)?

java - 游戏应用不断尝试连接 Google Play 服务而不放弃

java - 线程 "main"org.pdfclown.util.parsers.ParseException : 'name' table does NOT exist 中的异常

php - Apache 两个应用程序一个域共享语言/en - Magento 和 Wordpress

java - IntelliJ IDEA 使用 Lombok 编译错误

java - 在 OneToMany 关系中保存时,JPA 不清除 Set 迭代器

apache - SVN 和 HTTP 协议(protocol)可以同时在同一个存储库上安全使用吗?

apache - 将 json 字符串作为 post 请求发送时的错误字符串参数

java - 传递 Maven 依赖 + 所有传递 + 父 POM

eclipse - 创建新 Maven 项目时默认本地目录中没有原型(prototype)