sydapi/src/test/java/cmbpoc/JmeterTest.java
2026-06-01 13:41:28 +08:00

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) {
// 释放资源(如有)
}
}