packagecom.lakala.crosspay.jmeter.client.integration;importcom.lakala.crosspay.sms.api.SmsService;importcom.lakala.crosspay.sms.api.dto.SmsDTO;importcom.lakala.sh.framework.core.error.Result;importcom.lakala.sh.framework.core.utils.DateUtil;importorg.apache.commons.lang3.RandomStringUtils;importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;importorg.apache.jmeter.samplers.SampleResult;importorg.apache.jmeter.config.Arguments;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importjava.util.Date;/*** SmsServiceSampleClient
*
*@authormakarov
* @desc
* @date 2018/8/24*/
public class SmsServiceSampleClient extendsAbstractJavaSamplerClient {privateApplicationContext applicationContext;private longstartTimestamp;private longendTimestamp;
@OverridepublicArguments getDefaultParameters() {
Arguments args= newArguments();
args.addArgument("Sid", "");
args.addArgument("mobile","");
args.addArgument("templateNo","");returnargs;
}public voidsetupTest(JavaSamplerContext context) {
applicationContext= new ClassPathXmlApplicationContext("classpath:remote-consumer.xml");
}publicSampleResult runTest(JavaSamplerContext javaSamplerContext) {
SmsService smsService= (SmsService) applicationContext.getBean("smsService");
getNewLogger().info("smsService:{}", smsService);
SampleResult sampleResult= newSampleResult();
sampleResult.sampleStart();try{
startTimestamp=System.currentTimeMillis();
SmsDTO smsDTO= newSmsDTO();
smsDTO.setSid(RandomStringUtils.randomAlphanumeric(32));
smsDTO.setMessage("{\"BATCH_NO\":\"" + DateUtil.format(new Date(), "yyyyMMdd") + RandomStringUtils.randomNumeric(6) + "\",\"CUSTOMER_NO\":\"CUST00000001\"}");
smsDTO.setMobile("18516235811");
smsDTO.setTemplateNo("481869683453067264");
smsDTO.setType("01");
Result result =smsService.sendSms(smsDTO);if(result.isSuccess()) {
sampleResult.setSuccessful(true);
}else{
sampleResult.setSuccessful(false);
}
}catch(Exception e) {
sampleResult.setSuccessful(false);
getNewLogger().error("调用服务接口异常:", e);
}
sampleResult.sampleEnd();returnsampleResult;
}
@Overridepublic voidteardownTest(JavaSamplerContext context) {
endTimestamp=System.currentTimeMillis();
getNewLogger().info("调用接口耗时:{}ms", endTimestamp -startTimestamp);
}
}