前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 JMeter 完成 Dubbo 接口的测试

基于 JMeter 完成 Dubbo 接口的测试

原创
作者头像
霍格沃兹测试开发
修改2021-04-08 17:26:23
2.7K0
修改2021-04-08 17:26:23
举报
文章被收录于专栏:测吧测试开发

【作者信息】 霍格沃兹测试学院优秀学员@TesterAllen。

更多技术文章分享及测试资料点此获取

JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。

JMeter 插件拓展

1.1 插件下载

测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到:

https://github.com/thubbo/jmeter-plugins-for-apache-dubbo

点击进入,这里我们选择当前的最新版本 2.7.8 进行下载。

1.2 插件安装

插件下载好后只需要将 jar 包放入到 jmeter 的 lib 下的 ext 文件夹即可。

由于我的 JMeter 是使用 Mac 的 Homebrew 安装的,所以我的路径为 /usr/local/Cellar/jmeter/5.3_1/libexec/lib/ext,具体的根据自己的安装路径寻找即可,如下可以看到我的 jar 包已放入。

代码语言:txt
复制
% 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的方法如下,直接调用方法,返回一个用户信息列表:

代码语言:txt
复制
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 接口成功。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更多技术文章分享及测试资料点此获取
  • JMeter 插件拓展
    • 1.1 插件下载
      • 1.2 插件安装
        • 1.3 重启 JMeter
        • 测试接口准备
        • 测试 Dubbo 接口
          • 3.1 修改配置
          相关产品与服务
          微服务引擎 TSE
          微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档