jmeter的参数化、关联、断言 (3)

一,参数化
参数化三种方式(必问)
a)用户自定义的变量:【添加--配置元件--用户自定义的变量】
b)配置元件CSV Data Config

c)函数助手中的函数获取参数值 _Random函数 _RandomString函数

1,用户定义的变量

参数的使用

2,配置元件CSV Data Config
适用场景:模拟4个用户注册
思路:手机号不同就行,但需要考虑到10,12,13这种无效号码,于是只生成后面的就行,前面的自己固定
1)

2)

3)由于要模拟4个用户注册,因此需要设置一个小并发注册场景

4)执行测试

3,CSV数据文件
1)添加CSV数据文件元件
2)创建Excel表格,填入参数另存为CSV逗号分隔文件,设置数据设置文本格式的单元格,否则传入数据容易出现下面这种情况

注:直接桌面创建txt文档,后缀改为csv再编辑也行(需要先在文本文档里面编写完数据才能改,不能直接修改成csv编辑后再保存,所有数据会挤在一行)
3)CSV文件设置

4)填入参数,运行即可

二,断言
1)添加断言

2)

三,关联:概念,上一个请求的响应结果,作为下一个请求的参数传入
使用场景:下一个请求的参数值是变化的
引导1:此前使用了单个充值接口进行充值,提示“抱歉请先登录”,随后同时开放登录和充值两个接口,仍然提示“抱歉请先登录”

引出疑问点?
答:充值的时候,在页面上,我们是先登录,是以登录的状态去充值的。充值的时候,我们就会去校验登录的状态。而jmeter里面【登录】和【充值】两个接口是独立的,两个接口没有联系起来。

1,我们需要了解cookie和session?
原文链接:https://www.cnblogs.com/nickjiang/p/9148136.html
原文链接:https://blog.csdn.net/qq_28296925/article/details/80921585
cookie和session是一种鉴权的技术(判断是否有权限)
浏览器进行登录,服务器会给浏览器生成cookie用来保存用户的信息在客户端的缓存里面

用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端。这个SessionID就是保存在客户端的,属于客户端Session。其实客户端Session默认是以cookie的形式来存储的。

cookie是存在客服端的,session是存在服务器的,但是session生成的同时会创建一个sessionID存在cookie里面作为下一次与服务器中session匹配的钥匙,因为如果不生成sessionID那么服务器和客服端无法匹配

得到了结果:因为充值的时候没有获取到sessionid

2,jmeter的解决办法
方法一:
1)直接添加一个http cookie管理器

2)充值成功

3)可以看到,服务器返回了sessionid给浏览器

4)而充值接口的请求上面也带了sessionid,充值没有,因为不需要

方法二:正则表达式
百度训练自己的正则表达式

猜你喜欢

转载自www.cnblogs.com/zhongzhouyun/p/10707271.html
今日推荐