Jmeter示例代码

时间:2016-09-14 06:08:55

标签: java jmeter

需要测试应用程序,但我收到以下错误:

ERROR - jmeter.samplers.SampleResult: setEndTime must be called after setStartTime java.lang.Throwable: Invalid call sequence
    at org.apache.jmeter.samplers.SampleResult.setEndTime(SampleResult.java:1023)
    at org.apache.jmeter.samplers.SampleResult.sampleEnd(SampleResult.java:1062)
    at infy.dop.rsi.jmeter.EmoDb.runTest(EmoDb.java:94)
    at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:191)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)
    at java.lang.Thread.run(Thread.java:745)

他是我的代码:

public class EmoDb extends AbstractJavaSamplerClient {
    private static final Logger LOGGER = LoggerFactory.getLogger(EmoDb.class);
    private Properties prop = new Properties();
    public Arguments getDefaultParameters() {
        Arguments defaultParameters = new Arguments();
        return defaultParameters;
    }
    public void setupTest(JavaSamplerContext context) {
        for (Iterator<String> it = context.getParameterNamesIterator(); it.hasNext();) {
            String paramName = it.next();
            prop.put(paramName, context.getParameter(paramName));
        }
    }
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        SampleResult result = new SampleResult();
        try {
            URL url=new URL(" ");
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            connection.setRequestMethod("GET");
            connection.connect();
            result.sampleStart();
            int code = connection.getResponseCode();
            if (code==200)
            {
                System.out.println("OK");
                result.sampleEnd();
            }
             else {
                throw new Exception("status is not=200");
            }

        } catch (Exception e) {
            LOGGER.error(ExceptionUtils.getStackTrace(e));
            result.sampleEnd();
            result.setSuccessful(false);
            result.setResponseMessage("Exception: " + e);
            result.setSampleLabel(e.getMessage());
            return result;
        }
        result.setSuccessful(true);
        result.setResponseMessage("Successfully completed");
        result.setResponseOK();
        return result;
    }

}

1 个答案:

答案 0 :(得分:0)

如果你在街区中有任何例外:

    URL url=new URL(" ");
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    connection.setRequestMethod("GET");
    connection.connect();

调用catch块。你打电话给

result.sampleEnd();

但是

result.sampleStart();
由于异常,

未被调用。

相关问题