我正在使用JMeter API动态创建JMeter jmx文件。我能够在ThreadGroup内的TestPlan和JavaSampler中添加一个ThreadGroup。但是当我在Java采样器中添加一个CSVDataSet元素时,它不能正确保存。尝试使用JMeter API生成JMeter测试计划(jmx):无法保存CSVDataSet元素
下面的代码被用于创建新的CSVDataSet元件
CSVDataSet csvDataSet = new CSVDataSet();
csvDataSet.setName("CSV Data Set");
csvDataSet.setComment("Sample CSV Data Set");
csvDataSet.setDelimiter(",");
csvDataSet.setFileEncoding("");
csvDataSet.setFilename("d:\\jmeter\\data.csv"); // variable
csvDataSet.setQuotedData(true);
csvDataSet.setRecycle(true);
csvDataSet.setShareMode(shareMode.all);
csvDataSet.setStopThread(false);
csvDataSet.setVariableNames("firstname, lastname, email"); // variable
csvDataSet.setEnabled(true);
当此使用SaveService.saveTree,最后JMX不包含被设置的所有值保存。
<org.apache.jorphan.collections.HashTree>
<CSVDataSet testname="CSV Data Set Config" enabled="true">
<stringProp name="TestPlan.comments">Sample CSV Data Set Config</stringProp>
</CSVDataSet>
<org.apache.jorphan.collections.HashTree/>
如上所示,只添加测试名称,启用和注释。剩下的变量完全被忽略。
是否需要设置某些值才能获得所需的所有值? 或者这是JMeter中的错误?我使用版本2.11
基本代码是按照第4.3节从下面的链接 http://blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui
要我添加如上所示的代码。它被添加的方式是,
testPlanTree.add("testPlan", testPlan);
testPlanTree.add("loopController", loopController);
testPlanTree.add("threadGroup", threadGroup);
testPlanTree.add("httpSampler", httpSampler);
testPlanTree.add("csvDataSet", csvDataSet);
SaveService
.saveTree(testPlanTree, new FileOutputStream("d:\\test.jmx"));
CSVDataSet块的输出如上所示。
添加代码的要求。 – Avi 2014-09-01 18:32:19