美文网首页
jmeter进行dubbo接口测试

jmeter进行dubbo接口测试

作者: 陈芝麻烂谷子的事 | 来源:发表于2022-04-22 10:35 被阅读0次

    使用JMETER进行DUBBO接口测试

    1. 分享背景:

    dubbo接口进行接口的访问测试

    2.Dubbo插件的安装:

    (1)下载地址:

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

    image.png

    (2)存放路径:

    …\apache-jmeter-5.2.1\lib\ext

    (3)重新启动jmeter即可。

    3. Dubbo接口测试的使用:

    (1) 新建线程组“

    右键testplan – 添加 – 线程(用户) - 线程组

    (2) 增加dubbo取样器:

    右键线程组 – 添加 – 取样器 – dubbo sample

    (3) Protocol介绍和使用:

    注册协议,包括zookeeper、multicast、Redis、simple

    我们使用泛化调用,不需要考虑他的注册中心。

    <u>泛化调用是什么?服务的消费者直接调用接口方式(不需要引入服务接口),也可以实现服务功能的使用</u>。

    (4) Address:

    注册地址,目前我们使用dubbo直连,直接写IP+PORT即可

    (5) Timeout:

    超时时间,正常情况下默认即可,如jmeter返回超时错误,接口功能正常,可适当延长超时时间。

    (6) Version:

    版本号,不需要指定版本号

    (7) Interface:

    接口名称

    (8) Method:

    方法名称

    (9) paramType:

    参数类型:参数支持任何类型,包装类直接使用java.lang下的包装类,类型使用:int、float、shot、double、long、byte、boolean、char,自定义类使用类完全名称

    我们目前使用的类型:java.util.Map

    (10) paramValue:

    参数值


    image.png

    4. 实战演示:

    并发接口测试实现演示:

    注册接口正常情况下同一个id/手机号/邮箱/用户名等唯一信息只允许存在一次,同一个用户并发提交注册不会出现重复id/手机号/邮箱/用户名的情况。

    (1)接口信息:

    接口名:用户注册接口

    接口路径:com.qiming.qqzw.customer.api.IRegisterProvider.register()

    接口功能:注册

    接口参数:

    image.png

    (2) 环境信息:

    地址:172.31.132.***

    端口:28465

    影响数据库:172.31.63.***:3306/mysql1_10/usercenter_user

    (3)用例设计:

    测试内容:唯一序列号校验

    前置条件:准备从未注册过的手机号;10个用户

    用例步骤:10个用户使用同一个未注册过的手机号提交注册。

    检查点:

    1.接口仅有一个返回成功,其他接口返回错误提示,未注册成功

    2.数据库存在新增数据,有且仅有一条。

    (4)jmeter实现:

    1.添加线程组:右键点击Test Plan – 添加 – 线程组

    2.在线程组下添加dubbo取样器:右击点击线程组 – 添加 – 取样器 – Dubbp Sample

    3.配置Dubbo Sample:

    Address:172.31.132.***:28465

    Version:空

    InterFace: com.qiming.qqzw.customer.api.IRegisterProvider

    Method: register

    paramType:java.util.Map

    paramValue: {"clientType":"ios","code":"111111","appCode":"qiuqiu","type":"mobile_code","account":"17888888881"}

    image.png

    (5)添加断言:用于判断接口是否正常返回

    1.右击dubbo取样器 – 添加 - 断言 - 响应断言:

    image.png

    (6)接口掉通调试:保证当前脚本的正确性

    image.png

    (7)设计测试场景,增加同步定时器

    1.增加同步定时器,用于模拟并发请求:

    右击线程组- 添加 – 定时器 – 同步定时器,设置模拟用户数量5(可根据需求或与研发沟通设定此数值),设置超时时间0(代表一直等待)

    image.png
    1. 设置线程组中线程数5,循环次数1次。
    image.png

    (8)参数化:为方便多次测试,可将改动频繁的参数参数化

    1.右击线程组-添加- 前置处理器 – 用户参数,设置如下:

    image.png

    2.更改传参设置参数化的值:

    image.png

    除此之外,还可以通过脚本的方式随机生成手机号,感兴趣可以自行去探索一下!

    (9)执行脚本:

    最终的脚本内容如下:

    image.png

    点击执行按钮执行脚本,查看结果:

    image.png

    测试结果仅有一个接口返回成功,其他接口均返回错误提示。

    5. 结语:

    以上为使用jmeter进行dubbo接口测试文档的全部内容,另外根据以往的测试经验总结了一下类似于提交、上传、报名等即此接口特殊的测试点如下:

    1.单用户接口并发下,带有唯一序列号的字段是否会出现重复。

    2.单用户或者多用户接口并发下,新增数据是否正常,是否出现重复新增。

    3.多用户接口并发下,拥有名额限制的功能,是否超出正常限制。

    4.单用户接口并发下,扣减功能是否出现多扣多减情况。

    5.单用户或者多用户接口并发下,接口是否出现异常报错。

    以上测试点仅供参考,实际的场景设计还需要根据业务需求和后端设计进行分析得出。

    相关文章

      网友评论

          本文标题:jmeter进行dubbo接口测试

          本文链接:https://www.haomeiwen.com/subject/ujzosrtx.html