接口测试中,会有一种情况,下个接口的请求参数需要上级一个接口的返回数据,且是动态的。这种情况下怎么处理呢,就需要“关联”。
PS:哎,感觉这东西理解起来很简单,解释起来比较麻烦。不是很明白的看客,附上传送门:http://www.cnblogs.com/fnng/archive/2013/03/07/2945303.html。
举个例子,现在很多网站都需要先登录,才能执行一些其他操作(比如计算账单),即你在计算账单之前需要让系统知道你是登录状态。每个系统的校验机制可能都不同,具体问自家开发,我所负责的系统是token校验。
1、登录获取token
2、添加正则表达式(线程组-->右键添加-->后置处理器-->正则表达式提取器)
引用名称:下一个请求要引用的参数名称。填写token,则可以用${token}引用
正则表达式:()括起来的部分就是要提取的,其中:
.匹配任何字符串
+一次或多次
?再找到第一个匹配项后停止
模板:格式为mm。可以理解为使用匹配到的第几个数据(可能会有多个匹配成功的数据,此时需要使用模板)。例如11就表示使用第一个正则表达式匹配成功的内容。如果是112$,则表示把这两个正则表达式所匹配的内容拼接起来返回使用。
匹配数字:匹配数据的最终结果可以看做一个数组,匹配数字则可看做是数组的第几个元素。为0时,随机返回匹配的数据,为负数时,返回全部数据。为1时。表示返回匹配结果数组的第一个元素,用${token_1}引用,以此类推....
缺省值:如果没匹配到,默认给它一个值。一般用于后续的逻辑判断,定义为大写的英文字母,例如ERROR。
3、判断token是否取到(判断这个正则写的对不对)
这个只是我个人使用的一个偏门方法。很简单,发送一个get请求,然后带上要引用的参数(这里是token),看请求的url即可。
在这里我要说下匹配数字:匹配数据的最终结果可以看做一个数组,匹配数字则可看做是数组的第几个元素。为0时,随机返回匹配的数据,为负数时,返回全部数据。为1时。表示返回匹配结果数组的第一个元素,用${token_1}引用,以此类推...