基于 JMeter 完成 Dubbo 接口的测试

简介: 基于 JMeter 完成 Dubbo 接口的测试

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

JMeter 插件拓展

1.1 插件下载

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

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



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


1.2 插件安装

插件下载好后只需要将 jar 包放入到 jmeterlib 下的 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 接口成功。更多技术文章

相关文章
|
2天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
20 5
|
2天前
|
测试技术 Apache 数据库
从慢如蜗牛到飞一般的感觉!Python性能测试实战,JMeter&Locust助你加速🏃‍♂️
【9月更文挑战第6天】你的Python应用是否曾因响应缓慢而让用户望而却步?借助JMeter与Locust,这一切将迎刃而解。JMeter作为Apache基金会的明星项目,以其强大的跨平台和多协议支持能力,成为性能测试领域的魔法师;而Locust则以Python的简洁与高效,让性能测试更加灵活。通过实战演练,你可以利用这两款工具轻松识别并解决性能瓶颈,优化数据库查询、网络配置等,最终使应用变得敏捷高效,轻松应对高并发挑战。
7 1
|
4天前
|
测试技术 持续交付 Apache
性能测试不再愁!Python+JMeter+Locust,三步打造高性能应用
【9月更文挑战第4天】随着互联网的发展,软件性能成为衡量应用成功的关键。性能测试确保应用稳定高效运行,但复杂环境和多样需求带来了挑战。Python、JMeter和Locust三款工具可构建高效全面的性能测试方案。Python语法简洁,库丰富;JMeter提供图形界面,支持多种协议;Locust基于Python,简单易用且高度可扩展。结合三者,能满足复杂需求,保证灵活性与高效性。无论初学者还是资深工程师,都能确保应用高性能运行。
11 1
|
11天前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
14天前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
14天前
|
SQL Java 测试技术
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
|
16天前
|
XML Web App开发 数据挖掘
Postman接口测试工具全解析:功能、脚本编写及优缺点探讨
文章详细分析了Postman接口测试工具的功能、脚本编写、使用场景以及优缺点,强调了其在接口自动化测试中的强大能力,同时指出了其在性能分析方面的不足,并建议根据项目需求和个人偏好选择合适的接口测试工具。
26 1
|
16天前
|
Web App开发 JSON 测试技术
精通Postman接口测试:关联技术与自动化实践指南
这篇文章详细介绍了如何使用Postman进行接口测试,包括关联技术、自动化实践,以及如何通过环境变量和全局变量解决接口之间的关联性问题。
18 0
精通Postman接口测试:关联技术与自动化实践指南
|
16天前
|
JSON jenkins 测试技术
Python接口自动化测试框架(工具篇)-- 接口测试工具HTTPRUNNER
本文介绍了Python接口自动化测试框架HTTPRunner,包括其安装、使用方法,并通过实际操作演示了如何利用HTTPRunner进行接口测试,同时还探讨了HTTPRunner作为接口自动化测试解决方案的可能性和实用性。
28 0
|
2月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
95 5
Postman 接口测试配置 Pre-request Script
下一篇
DDNS