![](/img/trans.png)
[英]How to set CSV file in java code by running the Jmeter test using a program (Java Code)?
[英]Results are not stored with a column names in CSV file after running the Jmeter test through a program (Java Code)
我已經成功地使用一個程序運行了 Jmeter 測試,即用 java 代碼編寫的。 我也在此處分享該問題解決方案的鏈接 =>如何通過使用程序(Java 代碼)運行 Jmeter 測試來在 Java 代碼中設置 CSV 文件?
現在,我在我的 CSV 文件中得到了結果,但該文件中的問題是,它沒有顯示列名,它只是獲取結果並將其存儲到文件中。 請參考下圖了解更多信息。
任何人都可以幫助我如何將結果與其列名一起存儲?
我的Java代碼是:
package com.automation;
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.testbeans.gui.TestBeanGUI;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;
import java.io.File;
import java.io.FileInputStream;
public class JMeterFromExistingJMX {
public static void main(String[] argv) throws Exception {
//Set jmeter home for the jmeter utils to load
String jmeterHomelocation = "D:/apache-jmeter-5.1.1";
String jmeterPropertieslocation = jmeterHomelocation + "/bin/jmeter.properties";
// JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Initialize Properties, logging, locale, etc.
JMeterUtils.loadJMeterProperties(new File(jmeterPropertieslocation).getPath());
JMeterUtils.setJMeterHome(new File(jmeterHomelocation).getPath());
// you can comment this line out to see extra log messages of i.e. DEBUG level
JMeterUtils.initLogging();
JMeterUtils.initLocale();
// Initialize JMeter SaveService
SaveService.loadProperties();
/* // Load existing .jmx Test Plan
FileInputStream in = new FileInputStream(new File(jmeterHomelocation + "extras/slt_autoMa_Test.jmx"));
HashTree testPlanTree = SaveService.loadTree(in);
in.close(); */
HashTree testPlanTree = SaveService.loadTree(new File("D:/test-root/SLT/JmeterFiles/slt_auto_test_java_blaze_script.jmx"));
Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
String logFile = "D:/test-root/SLT/JmeterFiles/resultss.csv";
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
testPlanTree.add(testPlanTree.getArray()[0], logger);
// Run JMeter Test
jmeter.configure(testPlanTree);
jmeter.run();
}
}
打開D:/apache-jmeter-5.1.1/bin/jmeter.properties
文件並查找jmeter.save.saveservice.print_field_names
行。
為了在 .jtl 結果文件中有標題行,需要將該屬性設置為true
例如:
jmeter.save.saveservice.print_field_names=true
確保在屬性聲明之前沒有#
sing。
參考:
您將需要刪除D:/test-root/SLT/JmeterFiles/resultss.csv
的先前實例,就好像它不是空的一樣 - JMeter 不會添加標題,它只會在那里附加新結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.