JMeter接口自动化测试,自定义全局变量
Posted cnjf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter接口自动化测试,自定义全局变量相关的知识,希望对你有一定的参考价值。
用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接口自动化测试,自定义全局变量的主要内容,如果未能解决你的问题,请参考以下文章