我想基于从先前的HTTP响应中提取的数据(使用'正则表达式提取器')来操纵HTTP线程的请求主体。 这是场景: - 我从' HTTP请求1'中提取了statusFlag和statusId。如: 参考名称:状态 注册。 Exp:" statusFlag":"(\ w +)"," statusId":"(\ w +)"
所以,首先我想检查一下statusFlag的值是'新'或不。 如果它是New,那么我必须继续并在下一个HTTP请求中提供statusId,否则显示statusFlag不匹配。
需要帮助。陷入困境。
答案 0 :(得分:1)
你的Jmeter项目应该如何。 正则表达式提取器将提取的值存储在ct变量中,该变量可以在If Controller中作为" $ {ct}" ==" yourvalue"并且,如果为true,也可以使用相同的$ {ct}引用作为Request 2正文的一部分发送。
答案 1 :(得分:1)
我相信Response Assertion正是您所寻找的。在正则表达式提取器之后添加它并按如下所示进行配置:
断言将检查“statusFlag”是否为“New”,如果不是 - 它将使采样器失败并报告预期值和实际值。
您可以选择在响应断言后添加If Controller,使用${JMeterThread.last_sample_ok}
作为条件,并将第二个请求作为If控制器的子项 - 仅当“statusFlag”为new时才会执行。
有关有条件地为JMeter测试中的请求设置通过或失败条件的详细信息,请参阅How to Use JMeter Assertions in Three Easy Steps指南。