簡體   English   中英

從 junit 測試啟動 jmeter

[英]Launch jmeter from junit test

有沒有辦法在 selenium/junit 測試用例中集成記錄的 jmeter 腳本(它測試由多個用戶執行的一系列記錄操作施加的負載)。 這樣我就可以用 java 執行那個 selenium/junit 測試用例,它給我 junit 報告的性能結果? 我找到了一些帖子,講述了如何將 selenium webdriver 集成到 jmeter 中,但不是相反。

您可以使用JMeter Java API執行現有的 JMeter 測試,示例代碼如下所示:

import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.reporters.ResultCollector;
import org.apache.jmeter.reporters.Summariser;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;

import java.io.File;

public class JMeterFromCode {

    public static void main(String[] args) throws Exception {

        // JMeter Engine
        StandardJMeterEngine jmeter = new StandardJMeterEngine();

        // Initialize Properties, logging, locale, etc.
        JMeterUtils.loadJMeterProperties("/tmp/jmeter/bin/jmeter.properties");
        JMeterUtils.setJMeterHome("/tmp/jmeter");
        JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
        JMeterUtils.initLocale();

        // Initialize JMeter SaveService
        SaveService.loadProperties();

        // Load Test Plan
        HashTree testPlanTree = SaveService.loadTree(new File("/tmp/jmeter/bin/test.jmx"));

        Summariser summer = null;
        String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
        if (summariserName.length() > 0) {
            summer = new Summariser(summariserName);
        }


        // Store execution results into a .jtl file
        String logFile = "/tmp/jmeter/bin/test.jtl";
        ResultCollector logger = new ResultCollector(summer);
        logger.setFilename(logFile);
        testPlanTree.add(testPlanTree.getArray()[0], logger);

        // Run JMeter Test
        jmeter.configure(testPlanTree);
        jmeter.run();
    }
}

代替:

  • 所有出現的/tmp/jmeter - 帶有 JMeter 安裝路徑
  • /tmp/jmeter/bin/test.jmx - .jmx 文件的路徑,包含記錄的 JMeter 腳本
  • /tmp/jmeter/bin/test.jtl - .jtl 結果文件的所需位置

有關執行 JMeter 測試的可能性的更多信息,請參閱在不使用 JMeter GUI 的情況下啟動 JMeter 測試的五種方法文章,也許您會找到更簡單的集成解決方案,因為 JMeter 測試可以通過Maven 插件Ant Task以及 Selenium 測試執行.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM