• 基于 JMeter 完成 Dubbo 接口的测试


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

    JMeter 插件拓展

    1.1 插件下载

    测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo 3

    点击进入,这里我们选择当前的最新版本 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 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 接口成功

    免费领取:性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档


  • 相关阅读:
    台式电脑连不上wifi怎么办
    Java中多态
    蓝桥杯刷题-包子凑数
    计算机毕设(附源码)JAVA-SSM家教管理系统
    ES 数据库
    minikube 实战篇 - mysql部署 - 1
    SpringBoot项目打印接口请求日志,CommonsRequestLoggingFilter实现方式
    ionic android app打包和发布
    【LeetCode】53. 最大子数组和
    项目平台——项目首页设计(五)
  • 原文地址:https://blog.csdn.net/Hogwartstester/article/details/126603677