use*_*767 1 java web-services jmx jmeter
我是JMeter的新手.我找到了以下代码,通过使用JMeter API StandardJMeterEngine从JAVA项目运行JMeter测试计划(.jmx).
但是如何将执行结果作为返回?
我看过很多关于SampleResult的文章.如果这是一个解决方案,请您提供有关如何将我的sampleResult集成到现有JMeter测试计划中的详细信息.
// JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Initialize Properties, logging, locale, etc.
JMeterUtils.loadJMeterProperties("../jmeter.properties");
JMeterUtils.setJMeterHome("../apache-jmeter-2.11");
JMeterUtils.initLogging();
JMeterUtils.initLocale();
SaveService.loadProperties();
// Load existing .jmx Test Plan
FileInputStream in = new FileInputStream("../Integ.jmx");
HashTree testPlanTree = SaveService.loadTree(in);
in.close();
// Run JMeter Test
jmeter.configure(testPlanTree);
jmeter.run();
<how to capture result here?????????????????>
jmeter.exit();
Run Code Online (Sandbox Code Playgroud)
如果要直接在Java中访问测试结果而不通过文件输出进行解决方法,则可以重新定义结果收集器并获取每个示例事件的通知:
public class MyResultCollector extends ResultCollector {
public MyResultCollector(Summariser summer) {
super(summer);
}
@Override
public void sampleOccurred(SampleEvent e) {
super.sampleOccurred(e);
SampleResult r = e.getResult();
if (r.isSuccessful()) {
System.out.println("Response time in milliseconds: " + r.getTime());
}
}
}
Run Code Online (Sandbox Code Playgroud)
在jmeter.run()
节之前添加以下几行:
Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");//$NON-NLS-1$
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
String logFile = "/path/to/output/file.jtl";
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
testPlanTree.add(testPlanTree.getArray()[0], logger);
Run Code Online (Sandbox Code Playgroud)
结果将被/path/to/output/file.jtl
归档。可以在测试执行后通过您在 JMeter GUI 中选择的侦听器打开。
您可以控制通过user.properties
文件存储哪些值。根据JMeter Performance and Tuning Tips指南,推荐值是:
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.assertion_results_failure_message=false
jmeter.save.saveservice.timestamp_format=HH:mm:ss
jmeter.save.saveservice.default_delimiter=;
jmeter.save.saveservice.print_field_names=true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4734 次 |
最近记录: |