软件测试|基于 JMeter 完成 Dubbo 接口的测试

逆变星轨
• 阅读 644

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

JMeter 插件拓展

1.1 插件下载

测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到:https://github.com/thubbo/jme... 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<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 接口成功

点赞
收藏
评论区
推荐文章
liam liam
3年前
高效进行接口测试,简单易懂!
前言日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。比如说,使用swagger查看接口文档,使用mock编造接口数据对前端页面做测试使用postman测试后端接口,用Jmeter来做接口自动化测试/性能测试。那有没有一款软件可以完美集成以上所有的功能?笔者发现一款叫Apifox的软件,一款完成能完成以上几乎所有软件的功能。官方给出Apifox(
捉虫大师 捉虫大师
4年前
使用dubbo-go搭建dubbo接口测试平台
背景http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具。通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具。调用一个dubbo接口,需要知道服务名service、方法名method和参数args。正常的调用,调用方需引入服务提供方定义的接口jar包。作为接口测试平台,没办法引入所有提供方定义的接口jar包,
Chase620 Chase620
4年前
MyBatis 源码分析 - 插件机制
1.简介一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作。以MyBatis为例,我们可基于MyBatis插件机制实现分页、分表,监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形中增强
Wesley13 Wesley13
3年前
RPC接口测试(三) RPC接口测试
RPC接口测试接口测试主要分HTTP和RPC两类,RPC类型里面以Dubbo较为知名。互联网微服务架构,两种接口都需要做接口测试的,不管是业务测试还是回归测试;Dubbo:Java栈的互联网公司比如阿里、美团、58、滴滴、京东等等都是差不多的服务端架构,所以这些公司,两类接口测试也是必不可少的工作部分;Dubbo是一
Stella981 Stella981
3年前
Jmeter系列(十七)
Jmeter可以通过WebDriver来完成UI自动化测试,也可以测试浏览器端对系统的压力,需要以下jiar包!(https://oscimg.oschina.net/oscnet/859187da8286f74ee39fa9a081fb42c03fe.jpg)基本配置1:下载JMeterPluginsWebDriver
Stella981 Stella981
3年前
JMeter 如何与 MySQL 进行整合测试
做性能测试定位瓶颈的时候,定位到是因为某些SQL语句的查询慢所影响的,此时我们提出优化方案,肯定希望验证下优化后的SQL,此时需要借助JMeter的JDBC请求,那么我们就需要学习JMeter如何与MySQL进行整合测试。环境准备除了JMeter外,还需要准备以下软件和Jar包:MySQL数据库服务
Wesley13 Wesley13
3年前
JAVA服务性能排查完整方案(含Jmeter,Dubbo)
前段时间,博主在做线上服务性能问题排查的工作;想到也有网上的小伙伴们跟博主需求相同,故此贴出方案;以备后用!一、jmeter远程调用dubbo接口   (1).jmeter安装jmeterpluginsforapachedubbo       参考地址:                https://git
Stella981 Stella981
3年前
JMeter Dubbo请求插件jmeter
JMeterDubbo请求插件jmeterplugindubbo.jarby:授客QQ:1033553122测试环境apachejmeter3.2Dubbo 2.6.2声明本项目是基于开源项目的基础上做的优化、改进项目地址:github.com/dubbo/jmeterplugi
Stella981 Stella981
3年前
Jmeter在windows上安装和环境配置
一、Jmeter简单介绍ApacheJMeter是Apache组织开发的基于Java的压力测试工具。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器,等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够
燕青 燕青
1年前
AE/PR/达芬奇视频去闪烁插件:Flicker Free 插件
是一款视频神器,可以帮助您去掉视频中的闪烁现象,其作为AfterEffects,PremierePro,FinalCutPro,Avid,Resolve或Vegas的插件进行使用。此破解插件仅用于ae、达芬奇和pr的安装。测试反馈:该1.1.8不支持M1版
融云IM即时通讯 融云IM即时通讯
8个月前
融云IM干货丨如何测试插件在UNI-app中的实际效果?
要测试插件在UNIapp中的实际效果,可以遵循以下步骤:1.安装和配置测试环境:确保你的环境中安装了HBuilderX,并且版本至少为3.7.3。如果是uniapp普通项目,需要通过插件hbuilderxforuniapptest来安装测试环境。对于uni
逆变星轨
逆变星轨
Lv1
蓟城通漠北,万里别吾乡。
文章
4
粉丝
0
获赞
0