jmeter(if判断,循环)以及正则表达
1、总结线程共享模式,并结合脚本完成
CSV 数据文件设置框
文件名:CSV文件所在的路径以及名称如:F:/柠檬班/作业/222.csv
文件编码:给出页面的编码格式,可以不填,有中文的话选择UTF-8
变量名称:将文件中涉及到的变量都添加进来,需要用英文符号隔开,方便后面请求中引用,一遍都是用${变量名}
文件编码:给出页面的编码格式,可以不填,有中文的话选择UTF-8
变量名称:将文件中涉及到的变量都添加进来,需要用英文符号隔开,方便后面请求中引用,一遍都是用${变量名}
忽略首行:是否忽略首行收据,有些CSV文件中不包含变量名,则选择False,如何包含变量名则选择True
分隔符:变量之间用什么符号分隔
是否允许带引号:文件中内容是否可以带引号
遇到文件结束符再次循环:选择True表示文件结束仍然会再循环,选择False便是不会循环
遇到文件结束符停止线程:到了文件尾是否停止线程,True---停止,False---不停止,注:当遇到文件结束符再次循环设置为True时,此项设置无效。
线程共享模式
所有线程:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。
当前线程组:假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。
当前线程:假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。
综上:CSV 数据文件设置实现的功能跟之前用的:${__CSVRead(F:/柠檬班/作业/222.csv,0)}这个函数实现的功能大体上是一样的。
2、利用(if判断,循环)和CSV文件完成多个请求的参数,比如只要写两个HTTP请求,就可以完成多个用例
将POST请求参数放在Json串中
3、总结正则表达式的三种方式
正则表达式:是对字符串操作的一种逻辑公式,简单的说就是事先定义好一些特定字符,以及这些特定字符的组合,组成一个“规则字符串”
一些基本字符代表的含义:
():封装了待返回的匹配字符串
.:匹配任意字符串
+:一次或多次
?:不要贪婪,在找到第一个匹配项之后就停止
.*:任意字符
第一种:"token":"(.+?)" 知道左右边界,匹配所有的
第二种:"mobileno":"(.{1,11})" 知道需要查找内容的长度
第三种:"mobile":"(\d{1,11})" 或者"mobile":"(\d.+?)" 查找类型为数据长度为11的内容
第四种:Json提取器的方式查取值
最后得到的请求结果如图