码迷,mamicode.com
首页 > 其他好文 > 详细

JMeter接口自动化测试,自定义全局变量

时间:2020-12-05 11:03:47      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:_id   one   参数   管理   登录   res   http请求   ima   全局   

用JMeter做接口测试过程中,可以生成一个自动化接口测试线程,在该线程下添加多个不同的请求,注册接口请求、登录接口请求、充值请求等,单独配置各个接口的参数,可能存在相同参数在不同接口都要改动的情况,那么采用“用户定义的变量”能够自定义全局变量。

线程组添加 配置元件 ---- 用户定义的变量;

技术图片

利用引用参数的方式,${mobilephone},将注册接口和登陆接口的手机号的参数变成一致的value。

技术图片

技术图片

技术图片

点击运行测试之后,发现能够注册、登陆,但是无法充值,充值接口提醒重新登录。这其中是因为HTTP请求是无状态的,需要添加cookie配置。明确cookie和session的区别。

方法一:线程组添加cookie管理器,点击运行按钮,能够正常登陆充值;

技术图片

方法二:指定的cookie;将cookie管理器复制粘贴到充值接口下,将全局cookie管理器diable。

技术图片

获取cookie:运行之后,发现登陆接口的运行结果sampler result中信息头(response header)有一个参数Set cookie,在每次运行中cookie的值是不一样的,所以只能采用正则表达式来获取cookie。

获取cookie步骤:1、在登陆接口添加后置处理器 - 正则表达式提取器

技术图片

2、设置正则表达式提取器的内容,将从信息头中set cookie对应的值里面的字符换成表达式(.*) - 贪婪匹配

技术图片

技术图片

3、可为线程组添加Debug sampler打印出参数,查看正则比配的参数是否正确;

4、配置充值接口下的cookie管理器;点击运行即可正常自动化测试充值接口;

技术图片

通过方法一和方法二,能够正常配置测试接口所需的cookie。登录接口会产生cookie,如果设置全局的cookie管理器并两次登录,则后一次登录的cookie会覆盖掉之前的cookie。

连接数据库JDBC获取数据库中的数据并用于其他接口参数:

1、添加JDBC连接管理器与JDBC request,根据博客https://mp.csdn.net/postedit/81072615 提到的JDBC接口来配置mysql数据库;采用的语句中,count参数是全局参数变量,与奖项接口参数有关;相当于奖项接口执行后,通过语句从数据库中找到对应的新增数据的id.

技术图片

技术图片

2、将sql取得的数据通过正则表达式提取器获取;为JDBC request添加正则表达式提取器,配置好之后添加debug sampler进行验证;

技术图片

3、若其他接口需要数据库中查询出的数值,则可以用${win_id}来代替。

JMeter接口自动化测试,自定义全局变量

标签:_id   one   参数   管理   登录   res   http请求   ima   全局   

原文地址:https://www.cnblogs.com/cnjf/p/14068767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!