我正在使用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