76 lines
2.2 KiB
Java
76 lines
2.2 KiB
Java
package cmbpoc;
|
|
|
|
|
|
import org.apache.jmeter.config.Arguments;
|
|
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
|
|
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
|
|
import org.apache.jmeter.samplers.SampleResult;
|
|
|
|
|
|
public class JmeterTest extends AbstractJavaSamplerClient {
|
|
|
|
private byte[] publicKey;
|
|
private byte[] plainData;
|
|
private int sleep = 1;
|
|
|
|
@Override
|
|
public Arguments getDefaultParameters() {
|
|
Arguments params = new Arguments();
|
|
params.addArgument("function", "sleep");
|
|
params.addArgument("sleep", "1");
|
|
return params;
|
|
}
|
|
|
|
@Override
|
|
public void setupTest(JavaSamplerContext context) {
|
|
// 校准测试
|
|
sleep = context.getIntParameter("sleep", 1);
|
|
|
|
// 线程开始时准备解密、验签数据
|
|
String function = context.getParameter("function");
|
|
switch (function) {
|
|
case "SYD_SM2_Sign":
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public SampleResult runTest(JavaSamplerContext context) {
|
|
SampleResult result = new SampleResult();
|
|
// 调用待测函数
|
|
String function = context.getParameter("function");
|
|
|
|
result.sampleStart(); // 开始计时
|
|
try {
|
|
switch (function) {
|
|
case "SYD_SM2_Sign":
|
|
break;
|
|
case "sleep":
|
|
Thread.sleep( this.sleep );
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
// result.setResponseData(encrypted); // 可选
|
|
result.setSuccessful(true);
|
|
result.setResponseCodeOK();
|
|
result.setResponseMessage( function + "执行成功" );
|
|
} catch (Exception e) {
|
|
result.setSuccessful(false);
|
|
result.setResponseCode("500");
|
|
result.setResponseMessage( function + "执行失败。" + e.getMessage());
|
|
} finally {
|
|
result.sampleEnd(); // 结束计时
|
|
}
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public void teardownTest(JavaSamplerContext context) {
|
|
// 释放资源(如有)
|
|
}
|
|
} |