标签:Dubbo 插件 jmeter jar 接口 测试 JMeter
开班通知 |
《测试开发实战进阶》
第 17 期即将开班,文末加群免费试听!
JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。
JMeter 插件拓展
1.1 插件下载
测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到:
点击进入,这里我们选择当前的最新版本 2.7.8 进行下载。
1.2 插件安装
插件下载好后只需要将 jar 包放入到 jmeter
的 lib
下的 ext
文件夹即可。
由于我的 JMeter 是使用 Mac 的 Homebrew 安装的,所以我的路径为
/usr/local/Cellar/jmeter/5.3_1/libexec/lib/ext
,具体的根据自己的安装路径寻找即可,如下可以看到我的 jar
包已放入。
% pwd
/usr/local/Cellar/jmeter/5.3_1/libexec/lib/ext
% ls | grep jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar
jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar
1.3 重启 JMeter
重启 Jmeter
后再采样器可,以看到 Dubbo Sample
的存在。
测试接口准备
这里在本地准备好了一个 Dubbo 的测试 demo 供演示使用,provider
的方法如下,直接调用方法,返回一个用户信息列表:
public class UserServiceImpl implements UserService {
@Override
public List<UserAddress> getUserAddressList(String userId) {
UserAddress userAddress1 = new UserAddress(1, "杭州市西湖区", "1", "Tester1", "12345678", "Y");
UserAddress userAddress2 = new UserAddress(2, "杭州市余杭区", "2", "Tester2", "12345678", "N");
return Arrays.asList(userAddress1, userAddress2);
}
}
通过 dubbo-admin 可以查到当前的服务已经提供完成:
测试 Dubbo 接口
这里选择以直连的方式进行接口的测试,也就是利用了 Dubbo 的泛化调用的方式,不需要知道注册中心,只需要知道服务接口,方法名以及服务提供者的地址即可。关于
Dubbo 的泛化调用,后续再单独介绍。
3.1 修改配置
打开 Dubbo Sample
后我们会看到如上图的配置(可能根据版本的不同会有所变化),如果遇到了相同的情况,将 Version
中的"1.0"删除,否则会影响我们的传参,然后再填入接口的信息即可,如下:
- 注意:这里要注意入参的类型要按照 Java 的数据类型填完整的类型格式。
3.2 结果展示
执行测试,查看测试结果如下:
可以看到接口成功响应,结果成功返回,测试 Dubbo 接口成功。
【作者信息】@TesterAllen,霍格沃兹测试学院优秀学员。
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
标签:Dubbo,插件,jmeter,jar,接口,测试,JMeter 来源: https://www.cnblogs.com/hogwarts/p/15984569.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。