【发布时间】:2014-09-16 17:53:40
【问题描述】:
好的,所以我先查看并找不到,为什么会出现此错误,其次,我无法通过搜索找到答案。
所以基本上我正在尝试使用 JMeter 运行测试计划。我基本上复制/粘贴模板,用于运行现有的 .JMX 文件和创建新的测试计划,所有这些都使用纯 Java 代码。
第一个代码来自运行现有 .jmx 文件时的网络
public static void main() throws Exception {
// JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Initialize Properties, logging, locale, etc.
JMeterUtils.loadJMeterProperties("/Users/jmoore/Documents/apache-jmeter-2.11/bin/jmeter.properties");
JMeterUtils.setJMeterHome("/Users/jmoore/Documents/apache-jmeter-2.11/bin/jmeter.sh");
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 existing .jmx Test Plan
FileInputStream in = new FileInputStream("/Users/jmoore/dev/commerce/selenium/jmeter/src/test/testplans/test1.jmx");
HashTree testPlanTree = SaveService.loadTree(in);
in.close();
// Run JMeter Test
jmeter.configure(testPlanTree);
jmeter.run();
}
第二个(下),来自尝试创建我自己的测试计划(来自网络的示例)
@Test
public void example() {
//JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
//JMeter initialization (properties, log levels, locale, etc)
JMeterUtils.loadJMeterProperties("/Users/jmoore/Documents/apache-jmeter-2.11/bin/jmeter.properties");
JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
JMeterUtils.initLocale();
// JMeter Test Plan, basic all u JOrphan HashTree
HashTree testPlanTree = new HashTree();
// HTTP Sampler
HTTPSampler httpSampler = new HTTPSampler();
httpSampler.setDomain("https:/www.google.com/");
httpSampler.setPort(80);
httpSampler.setPath("/");
httpSampler.setMethod("GET");
// Loop Controller
LoopController loopController = new LoopController();
loopController.setLoops(1);
loopController.addTestElement(httpSampler);
loopController.setFirst(true);
loopController.initialize();
// Thread Group
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setNumThreads(1);
threadGroup.setRampUp(1);
threadGroup.setSamplerController(loopController);
// Test Plan
TestPlan testPlan = new TestPlan("Create JMeter Script From Java Code");
// Construct Test Plan from previously initialized elements
testPlanTree.add("testPlan", testPlan);
testPlanTree.add("loopController", loopController);
testPlanTree.add("threadGroup", threadGroup);
testPlanTree.add("httpSampler", httpSampler);
// Run Test Plan
jmeter.configure(testPlanTree);
jmeter.run();
}
第一个问题(第一个代码): 为了尝试运行现有的 .JMX 文件,我不断收到错误消息: “JMeter 需要保存服务属性文件才能继续”
但好笑的是在我的/bin里,明明有个saveservice.properties文件
第二个问题(第二个代码): 它运行良好,唯一的问题是我什至没有看到标准输出。当我进行一些研究时(谷歌和通过这里),它声明取消注释有关位于“jmeter.properties”文件中的摘要器的部分 - 太好了,我做到了。我取消了以下注释:
summariser.out=true
所以我的问题是,如果取消注释并设置为“真”,为什么至少没有任何内容被打印到屏幕上?我更喜欢第二种方式而不是第一种方式,因为我可以根据自己的需要对其进行更多定制。
谢谢
【问题讨论】:
标签: java testing load jmeter jmx