5 步轻松上手,教你从 0 到 1 落地 Jmeter 接口自动化脚本!

Jmeter是进行接口测试的一款非常主流的工具,但绝大部分测试工程师,对于Jmeter接口测试脚本整理都是一知半解的。今天这篇文章,就以一个金融项目中接口为例,通过简单5步,教大家如何0代码编写Jmeter接口自动化脚本!         

Jmeter是进行接口测试的一款非常主流的工具,但绝大部分测试工程师,对于Jmeter接口测试脚本整理都是一知半解的。今天这篇文章,就以一个金融项目中接口为例,通过简单5步,教大家如何0代码编写Jmeter接口自动化脚本!

0、金融项目接口

1、登录接口信息

图片

2、新增投资项目接口信息

图片

接口说明:

请求头中Authorization传值Bearer Token,Token是登录成功后响应结果中获取。

请求参数中member_id,是指登录账号的id,也是从登录成功后响应结果中获取。

1、数据驱动ddt

一个接口,需要覆盖正常、异常多种情况的用例数据进行测试,从而得到不同的输出结果。你是怎么测试呢?是不是每测试一种情况就修改一次传参的数据呢?如果不想每次都修改请求,但是又要覆盖到多组测试数据的测试执行。Jmeter有提供很好的解决方案:通过CSV文件数据配置 + 循环控制器这2个元件实现。

1) 以登录接口为例,先把需测试的各种正常/异常测试数据,整理到CSV文件中,如下:

图片

2)打开Jmeter, 新建线程组,添加HTTP请求头管理器并设置好请求头信息。右键逻辑控制器-循环控制器,循环次数设置为CSV文件中的需执行的用例条数。

图片

3)在循环控制器下,添加配置元件-CSV数据文件配置,用于读取CSV文件中的每条测试用例数据,配置如下:

图片

4)在循环控制器下,添加HTTP请求,修改名称,登录请求设置如下:

图片

5)点击运行,可以看到依次执行CSV用例中的每条用例,并输出对应结果

图片

2、测试结果校验

以上登录的每条用例执行完后,需要去确认执行结果的正确性!你是人工点开每一条用例的接口返回结果,凭肉眼判断吗?那样就太费时间了,Jmeter有提供很多种自动判断用例执行是否符合预期的机制— 断言机制。Jmeter可通过:响应断言 + CSV数据驱动 实现。

1)右键循环控制器-断言-添加响应断言,并设置断言内容如下

图片

2) 点击运行,可以看到执行结果。请求显示绿色--表示断言成功;请求显示红色-表示断言失败,用例执行失败。点开可以看到断言失败的原因。

图片

3、接口依赖处理

如果我们要再去测试“添加投资项目”这个接口,跟登录一样,测试数据准备到CSV文件中,然后也是自动循环去读取CSV文件中测试用例,去执行!

但会存在问题: 添加投资项目这个接口要想执行成功,必须依赖到登录状态,需要从登录成功的响应结果中提取需要的token、用户id值。

如何解决? 将登录接口作为前置操作,登录只执行1次,然后通过后置处理器-json提取器获取到token、id的值;再传递给添加投资项目的这个接口使用。

1)脚本结构如下,新建登录请求作为前置,在登录请求下添加json提取器,页面设置如下:

图片

 2)将提取到的token值,传递到下个接口的请求头使用,在添加投资项目接口下方添加HTTP信息头管理器,引用user_token变量的值

图片

3)将提取到的用户id,传递到下个接口的请求参数中,这里分2步处理,首先在CSV文件中的请求列数据,设置${user_id},如下:

图片

然后在添加投资项目接口的http请求页面,引用从CSV文件中读取的req_data变量值时,因为该值中嵌套了${user_id}变量值,因此这里要用Jmeter自带的__eval函数处理下。

图片

4)点击运行,可以看到CSV中3条用例都执行成功。

图片

4、公共数据管理

很多接口请求中,会存在部分相同的请求信息,例如环境地址。测试环境/预发布环境/发布环境,服务器地址是不一样的。对于测试来说,如果需要在不同环境下,执行同一套接口脚本时,得一个个接口去修改服务器地址,这是很麻烦的。那么在Jmeter中,可以通过:自定义变量 实现高效处理。

1)新建配置元件-用户定义的变量,设置host、port2个变量,用来保存当前测试环境地址信息

图片

2)然后在自动化脚本的请求位置,将这2个变量进行引用,例如登录接口设置如下:

图片

 这样,如果下次需要切换到预发布环境进行测试,只需要修改用户定义变量中的环境地址信息即可。

5、多接口批量执行

在实际工作中,如果一个项目比较大,脚本编写工作是需要协同完成的。比如说你负责ABC模块接口、他负责DEF模块接口,最后如果要整合所有的接口进行批量执行怎么处理呢?可以通过Jmeter的测试片段,分模块管理接口脚本。一般可以一个接口一个测试片段。测试片段本身是不能直接运行的,需要通过模块控制器或include控制器才能执行。

1)右键新建测试片段,将登录接口的多用例执行脚本,保存在测试片段下;同理添加投资项目接口的多用例执行脚本。如下:

图片

2)新建线程组,在线程组下添加模块控制器,选择需要执行的测试片段;

图片

图片

3)点击运行,可以看到多接口批量执行结果

图片

总结

通过以上5步,就可以0代码实现Jmeter自动化脚本的基础开发。当然实际工作中的项目会存在很多需处理的业务场景,比如文件上传处理、关联到数据库的接口处理、接口加密传参处理、数据库断言处理等等,那么就需要大家具备更高阶技术、甚至是自己写代码去解决。

学无止境,行以致远。

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值