Jmeter传递数据 Jmeter使用接口传递数据过程图解
1142783691 人气:0一。
1.提取响应结果中的“mobile_phone”,作为下一个登录接口的账号信息
1)在当前接口下,添加-置处理器-正则表达式提取器
2)正则表达式处理器
说明:
后置处理器:在请求结束或者返回响应结果时发挥作用
- APPly to:作用范围(返回内容的断言范围)
- Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
- Main sample only:仅作用于父节点的取样器
- Sub-samples only:仅作用于子节点的取样器
- JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
要检查的响应字段:需要检查的响应报文的范围
主体:响应报文的主体,一个网页页面的内容,除了信息头以外的内容
- Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
- BodyasaDocument:从不同类型的文件中提取文本,注意这个选项比较影响性能
- Response Headers:响应信息头
- Request Headers:请求信息头
- URL:统一资源定位符,即Internet上用来描述信息资源的字符串
- Response Code:响应状态码,比如200、404等
- Response Message:响应信息
引用名称(ReferenceName):Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名(例子中我提取的是SOCIAL_NO)
引用方法:引用方法:${引用名称}
正则表达式(RegularExpression):使用正则表达式解析响应结果,“()”表示提取字符串中的部分值,请不要使用“||”,除非你本身需要匹配这个字符。
下面是常用的正则表达式操作符:
():括起来的部分就是要提取的。
.:匹配任何字符串。+:一次或多次。?:不要太贪婪,在找到第一个匹配项后停止。
模板(Template):模板,用来从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,语法为:$1$指代第一组,$2$指代第二组,$0$指代整个匹配结果
匹配数字(MatchNo):匹配数字,指明哪一个匹配结果值将被使用,正则表达式一般会有多个匹配结果。使用:0,表示Jmeter任选一个匹配值,使用:正整数N,表示Jmeter选择第N个值进行匹配,使用负数表示选取所有的值,一般与ForEach控制器配合使用
缺省值:如果正则表达式没有匹配到数据,引用变量将会返回一个默认值,在调试中此功能很有用,如果没有设置默认值,那么很难分辨出正则表达式是否有匹配到数据或使用是否正确,当然你也可以根据你的测试需求,在调试完成后去掉默认值的设置
提取到的参数,调用时用${SOCIAL_NO_1},${SOCIAL_NO_2}...,如果想要得到匹配出的参数的个数,用${SOCIAL_NO_matchNr},如果想随机选取一个,只需要将
匹配数字设为0,使用${SOCIAL_NO}调用即可。
正则表达式提取账号信息如下图:
查看正则表达式提取结果,线程组-添加-Sampler-Debug Sampler
不需要做变动
添加查看结果树(此处省略),进行注册请求并查看Debug Sampler结果
添加登录接口,并进行引用mobile_phone
运行测试脚本,在察看结果树中 查看到已经登录(登录code为:0):
加载全部内容