jmeter初经历(二)


一、http信息头管理器


有时通过jmeter去访问网页时,服务器拒绝访问,因为不是通过浏览器访问,会被认定为是一个爬虫,这是就需要模拟浏览器去发送请求,有一个user-Agent(用户请求头)需要去设定。
在这里插入图片描述
这时就需要进行通过伪装的方式来进行。创建一个http信息头管理器,拖到请求的上面。
在这里插入图片描述
在http头管理器中添加user-Agent请求头信息,在网上可以查找的不同的浏览器对应的user-Agent,这里是Mozilla/5.0,将http信息头管理器放在线程组里面就会对所有的请求起作用,放在对应的请求的目录下就只会对这一个请求起作用
在这里插入图片描述

在这里插入图片描述



二、断言


通过断言可以检查自己的请求是否真的成功而不是被返回的200所迷惑
响应断言:
给一个请求添加响应断言,同时在线程组中添加一个断言结果来查看断言结果来判断自己是否请求成功。
在这里插入图片描述
在这里插入图片描述
添加断言内容,断言成功后断言结果只会显示请求的名称,失败了会在请求名称下方提示遇到错误以及错误在哪里。
在这里插入图片描述
XPath Assertion:
就是对XPath数据进行断言



三、用户自定义变量


定义变量,在请求中引用变量,这样就可以只在一个自定义变量界面去更改参数,不用到每个请求中去更改参数。引用规则:${变量名}
在这里插入图片描述
在这里插入图片描述



四、参数化


CSV Data Set Config元件参数化


当进行登入页面测试时测试用例可以为:1、正确的账号和密码,2、错误的账号正确的密码,3、账号为空正确的密码,4、正确的账号错误的密码,5、账号正确密码为空
此时可以设计五条用户请求但是当测试用例很多的时候一一设计用户请求就很麻烦,此时我们可以利用txt文档和CSV Data Set Config元件
这里定正确的账号和密码为:186666666,123456
两个参数为mobilephone,pwd
在txt文档中写好自己的测试用例数据
在这里插入图片描述
添加一个CSV Data Set Config元件
在这里插入图片描述
在元件中设置txt文件相关信息
在这里插入图片描述
请求中引用变量。
在这里插入图片描述
设置循环5次这样五个测试用例数据就可以一次执行完毕。这样就完成了批量完成测试。
在这里插入图片描述
文档存测试数据除了可以是txt文档以外还可以是csv格式
就是把数据写在一个Excel表格中将其另存为CSV格式,其他都不变,只是用表格的形式更好管理也更直观。
遇到第一条数据有问题只有第一次请求失败的情况下就可以把第一条数据写两遍,第一条和第二条都写一样的数据。

函数助手参数化


打开函数助手选择_CSVRead函数,填写文件位置和要取得数据的列数第一列是第0列。
在这里插入图片描述
在请求中引用生成的变量。
在这里插入图片描述
这是就不能设置循环十次,要把线程数设置为十,不然就是对一个数据测试十次。
${__CSVRead(C:\Users\admin\Desktop\text_example.csv,0)}
组成:引用格式&{函数名__CSVRead(文件地址,列数)}



五、正则表达式


提取响应数据

在这里插入图片描述

{n,}至少匹配n次
{n,m}匹配n到m次
{n}只匹配n次
元字符+限定符的形式写列如一个11位电话号码就是:.{11}或者\d{11}或者\d+
可以利用正则表达式提取器在某个请求的响应结果里面拿到某个值。

添加正则表达式提取器

在这里插入图片描述
想要拿到如下图的响应结果里面的信息
在这里插入图片描述
首先要先确定信息的左右边界,然后写正则表达式
“name”: “小橘吖~~~”,“name”: “(.+)”
验证自己表达式写的对不对可以去网上的正则表达式在线测试验证
想要看到自己的正则表达式有没有提取成功就在线程组里面加一个Debug Sampler组件。
在这里插入图片描述
提取结果如下图,提取到了自己想要的对应结果。
改变qq号之后也能获得其他的账号对应的QQ昵称

在这里插入图片描述
一个正则表达式里面有多个值时
列如:{“code”: 200, “qq”: “23**********”, “name”: “小橘吖~~~”}
{ “code”: (.+), “qq”: “(.+)”,“name”: “小橘吖~~~”}
将模板改为$1$ $2$就可以看两个值了。
获得的mgs可以使用到请求信息时的参数引用。${msg}

提取数组的值


获取菜单栏的值。
确定左右边界找到这一组数据可以共同被唯一确定的左右边界值,写好正则表达式后要想多个值都被匹配到要将匹配数字由0(0表示随机取)改为-1(-1表示拿到所有值)
以京东网站为例
在响应数据中找到一条菜单栏的信息,通过此来确定这一组数据可以共同被唯一确定的左右边界值,通过以下信息确定了左右边界。
<a target="_blank" class=“cate_menu_lk” href="//jiadian.jd.com"></a>
左右边界可以为 com">家用电器</a> , 正则表达式为 com">(.*)</a>
结果就是获得了菜单栏的一组数据。在这里插入图片描述



ForEach控制器请求获取的数据组

上面获得的数据可以利用ForEach都请求一次。
在ForEach控制器下创建请求,可以吧刚刚获取的数据参数组全部请求一遍
在这里插入图片描述
在请求中引用参数,查看结果树就可以看到每个数值对应的结果
在这里插入图片描述

JSON Path 提取器

数据是json格式或者键值对的格式适合用JSON Path 提取器。
添加JSON Extractor元件,填写相关数据,同样也可以在参数中引用。
在这里插入图片描述

正则表达式和JSON Extractor提取数组数据

JSON Extractor提取数组数据:

如果一个请求参数化了,有很多个结果,对于所有的结果的同一个参数的值就形成了一个数组,比如获取文件列表,获取了多个文件就有多个文件ID。列如请求结果里面在data数据下的每个files里面都有的fileid。如果有三个数据,获取数组的表达式就是data.flies[0:3].flieid(从0开始只取头不取尾)
在这里插入图片描述
正则表达式获取数组数据:

结果的txt内容形式:
在这里插入图片描述
匹配五个数字,正则表达式为:“fileid”: (\d*).“parentId”
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值