smsService接口(dubbo接口)
package com.lakala.crosspay.jmeter.client.integration; import com.lakala.crosspay.sms.api.SmsService; import com.lakala.crosspay.sms.api.dto.SmsDTO; import com.lakala.sh.framework.core.error.Result; import com.lakala.sh.framework.core.utils.DateUtil; import org.apache.commons.lang3.RandomStringUtils; import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.config.Arguments; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.Date; /** * SmsServiceSampleClient * * @author makarov * @desc * @date 2018/8/24 */ public class SmsServiceSampleClient extends AbstractJavaSamplerClient { private ApplicationContext applicationContext; private long startTimestamp; private long endTimestamp; @Override public Arguments getDefaultParameters() { Arguments args = new Arguments(); args.addArgument("Sid", ""); args.addArgument("mobile",""); args.addArgument("templateNo",""); return args; } public void setupTest(JavaSamplerContext context) { applicationContext = new ClassPathXmlApplicationContext("classpath:remote-consumer.xml"); } public SampleResult runTest(JavaSamplerContext javaSamplerContext) { SmsService smsService = (SmsService) applicationContext.getBean("smsService"); getNewLogger().info("smsService:{}", smsService); SampleResult sampleResult = new SampleResult(); sampleResult.sampleStart(); try { startTimestamp = System.currentTimeMillis(); SmsDTO smsDTO = new SmsDTO(); 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<SmsDTO> 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(); return sampleResult; } @Override public void teardownTest(JavaSamplerContext context) { endTimestamp = System.currentTimeMillis(); getNewLogger().info("调用接口耗时:{}ms", endTimestamp - startTimestamp); } }
分类:
性能测试 / 实战总结笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?