jmeter关联通常是用在一种场景,即前一个请求的返回是后一个请求的body data或者path paramter
思路大致是把请求里需要的返回值提取出来,然后放到下一个请求的参数化中。
1. 如下图第一个请求返回的是json,其实没必要用正则表达式提取器,直接用后置处理器json extractor. 高版本的jemeter已经集成好,不用再下载插件。
a. 其中json path expressions,$表示根节点,因为要取TrainId, 所以是$.TrainId, 最好大小写保持一致,否则有时候提取不到。 如果是多层的结点,可以以此结构依次提取
b. math no是指第几次匹配到的结点,这里只有1个这样的结点,就写1. 如果结点唯一,也可写0
c. default value, 如果未找到,则用此值。一般写not found即可
2. 第二个请求配置如下,trainid是path parameter,写在parameters里面,其中${trainid}要和上一步的names of created variables 保持一致。
3. 这里比较智能的是,两个请求都参数化了botid,关联了两个请求后,连带botid也一起关联了。之前还担心botid两个请求不一样会报错,现在看来是可以的。