标签:字符 执行 ... 账号登录 代理 简单介绍 客户 一起 次数
参数化在接口性能,接口自动化都必须用到,需要重点掌握,接下来就针对Jmeter 4.0 6种参数化方式做介绍。
1、用户定义的变量
应用场景:可定义同时被应用到多个线程且不常变动的公共参数,例如请求协议,IP地址,请求方式,资源,端口号等
变量定义步骤:
1)新增用户定义变量的组件:单击测试计划再右键点击--选择添加--配置原件--点击用户定义的变量
2)设置你要的变量
3)调用变量: ${变量名}--在对应的地方调用变量,第二步定义了三个变量,本步均已调用如下
设置"用户定义的变量"有什么用处呢,最大的好处就是易于维护脚本,例如我们请求的IP地址一般不会变,且每个请求都必须用到,如果变化了,几个请求还好逐个修改就好,可若是成千上万个请求呢,
这时你就要庆幸你在最初设置的变量了,只要修改当初你设置的变量值即可,所有调用了这个变量的值都会一起修改,大大节省了维护脚本的时间及成本。
注:要把"用户定义的变量"这个组件放在最外面,这样才会作用于整个测试计划内的线程,个人建议,在开始创建线程的时候就要完成参数化。
2、函数助手
就是Jmeter中有提供了一些帮助我们完成某项功能的函数,可能不好理解,那么我们以一个例子来解释Jmeter中常用函数的功能以及如何使用。
例子:百度账号登录功能
先来看看百度账号登录的界面,如下截图
1)首先找到Jmeter的函数助手,参考如下。
2)何时需要使用到函数呢,那就是我们要实现某个功能的时候,要实现某个功能首先应该想到的是,是否有一个函数可以帮我们去解决,若没有对应的函数方法则考虑自己封装一个。
我们来分析百度用户名密码登录功能,其至少需要我们输入两个请求参数,分别为用户名,密码,然后通过点击登录按钮触发。
1>我们在做并发测试等多线程操作时,用户名是不能重复的,那么是否有一个函数可以帮我们实现这个功能呢
_RandomString------随机字符串,可以真实模拟客户数据,具体设置参考下图。
2>那如果是用手机号登录呢,那我们要实现手机号的随机,而手机号一般都有前三位数字的限定,函数设置参考下图。
__Random----随机数,可获得某个范围内的随机整数。
手机号前三位我们固定取135,那么调用函数时就是135${__Random(00000000,99999999,)}。
由于除了固定的前三位,还有8位数字要随机产生,所以最小值是八个零,最大值是八个九
3>若提供一些固定的值给你,如何去将这些值作为你的请求参数。
_CSVRead---数据以csv文件方式提供,则用此函数来实现读取,需要准备一个csv文件(文件内只有两列,分别为user_name,user_pwd,含若干条数据)
将生成的函数字符串应用到我们的请求当中去,如下方式调用,用户名需要一列值,密码需要以列值。
调试脚本
确定文件中的值是否有正确被读取到,需要注意的是我们必须在线程中设置线程数>1或是循环次数>1,否则读取的永远是文件中的第一条数据
点击执行登录请求后,查看结果(察看结果数组件),主要查看请求数据是否为文档中的值,若是则说明你已经成功读取了文档中的数据。
当然读取csv文档中的数据还有另外的方法,如在"配置原件"组件的"CSV数据文件设置"中也可设置,在此也给大家简单介绍下,同样看图说话。
4>其他函数
_UUID--生成ID,基本是唯一的,生成随机字符串如(6c29a9d0-55d2-40ce-a4a4-58a96c4de950),调用函数方式 ${_UUID}
_counter计数器函数
功能:每次调用计数器函数都会产生一个新值,从1开始每次加1,允许的最大值为2,147,483,647。
TRUE代表这个函数是每个用户自己的计数器,通常被用于记录测试计划运行了多少遍;FALSE代表全局计数器,通常被用于记录发送了多少次请求,上图,帮助理解
https://www.cnblogs.com/imyalost/p/6802173.html
3、bean shell参数化
4、数据库取数据作为参数化
5、文件方式参数化
6、动态关联
应用场景
下个用例要用到上个用例的返回参数,而且这个返回参数里面的数据是动态生成的,然后我们通过这些技术比如说正则表达式,json提取器,xpath提取器
通过这些技术动态的把他的返回参数的值取到,然后给我第二个变量里面去用,这就是他的应用场景。好比充值前要先登录,要先获取到session,因为要充值时必须先登录,所以可以将登录放到setup线程
首先发送一个登录请求,查看返回cookie位置在哪,一般在返回头
7、Jmeter脚本录制
1)设置Jmeter代理
1>测试计划--添加--非测试原件--HTTP代理服务器
2>设置脚本归属的线程--注意端口号,目标控制器选择脚本归属的线程(如下选择百度账号注册线程)
3>为了避免Jmeter抓取到太多我们不需要的东西,我们先要设置过滤,过滤掉一些静态资源(如图片),设置如下,点击“启动”
4>设置浏览器代理,本人使用的是Chrome浏览器,步骤为:浏览器右上方有三个竖点,点击并选中设置-->选择高级-->选择打开代理设置->跳出如下对话框进行设置。
5>开始录制脚本,以某个登录功能为例,先输入用户名,密码-->再设置浏览器代理(避免录制到不需要的数据)-->点击登录按钮-->查看线程下就有录制到的登录脚本-->关闭浏览器代理及点击jmeter的":停止"
最后处理并查看我们录制到的登录脚本
未完待续....
标签:字符 执行 ... 账号登录 代理 简单介绍 客户 一起 次数
原文地址:https://www.cnblogs.com/xia-qing/p/9649262.html