Jmeter 中的 If-Then-Else 条件正则表达式查询
If-Then-Else Conditionals Regular Expressions Query in Jmeter
我正在尝试通过过滤掉 ContactOwnerId 来提取 ContactLastName。
首先,我通过正则表达式提取器从 1 号采样器中提取 "ContactOwnerId",这是成功的。
我的 RegEx 查询是:
"OWNERID":(\d+),
现在,我想要 "LastName" 通过从采样器 2 到正则表达式提取器。
我的 RegEx 查询是:
(?(?"OWNERID":(\d+),==${GetContactOwnerId})(?"LASTNAME":"(.*?)"))
注: "LastName" & "ContactOwnerId"可以从 1 号和 2 号采样器中提取,但我首先从 1 号采样器中提取 "ContactOwnerId",然后尝试提取 "LastName" 来自 2 号采样器,通过比较提取的 "ContactOwnerId" 和当前的 "ContactOwnerId".
第二个正则表达式提取器提取失败,请验证并建议正确的查询。
谢谢
通过以下方式,问题得到解决:
如前所述,我正在通过正则表达式提取器从 1 号采样器中提取 "ContactOwnerId"。
我的 RegExp 查询是:"OWNERID":(\d+),
在第二个采样器中,我试图通过正则表达式提取器再次提取姓氏。
我的 RegExp 查询是:(?(?"OWNERID":(\d+),==${GetContactOwnerId})(?"LASTNAME":"(.*?)"))
我觉得在 RegExp 查询中使用 If-Then-Else 模式很复杂,因此在我的 RegExp 查询中使用了 NOT 运算符并成功运行。
首先,我尝试使用静态数据,它没有出错;
正则表达式查询:"OWNERID":((?!724812)\d+),.*?"LASTNAME":"(.*?)"
我刚刚在我的 RegExp 中附加了 ?!,这意味着 NOT 运算符。
然后,我尝试使用动态变量提取;
正则表达式查询:"OWNERID":((?!${__V(${GetOwnerId})})\d+),.*?"LASTNAME":"(.*?)"
在这里,我使用了V函数,其中returns评估变量名的值。
我正在尝试通过过滤掉 ContactOwnerId 来提取 ContactLastName。
首先,我通过正则表达式提取器从 1 号采样器中提取 "ContactOwnerId",这是成功的。
我的 RegEx 查询是:
"OWNERID":(\d+),
现在,我想要 "LastName" 通过从采样器 2 到正则表达式提取器。
我的 RegEx 查询是:
(?(?"OWNERID":(\d+),==${GetContactOwnerId})(?"LASTNAME":"(.*?)"))
注: "LastName" & "ContactOwnerId"可以从 1 号和 2 号采样器中提取,但我首先从 1 号采样器中提取 "ContactOwnerId",然后尝试提取 "LastName" 来自 2 号采样器,通过比较提取的 "ContactOwnerId" 和当前的 "ContactOwnerId".
第二个正则表达式提取器提取失败,请验证并建议正确的查询。
谢谢
通过以下方式,问题得到解决:
如前所述,我正在通过正则表达式提取器从 1 号采样器中提取 "ContactOwnerId"。
我的 RegExp 查询是:"OWNERID":(\d+),
在第二个采样器中,我试图通过正则表达式提取器再次提取姓氏。
我的 RegExp 查询是:(?(?"OWNERID":(\d+),==${GetContactOwnerId})(?"LASTNAME":"(.*?)"))
我觉得在 RegExp 查询中使用 If-Then-Else 模式很复杂,因此在我的 RegExp 查询中使用了 NOT 运算符并成功运行。
首先,我尝试使用静态数据,它没有出错;
正则表达式查询:"OWNERID":((?!724812)\d+),.*?"LASTNAME":"(.*?)"
我刚刚在我的 RegExp 中附加了 ?!,这意味着 NOT 运算符。
然后,我尝试使用动态变量提取;
正则表达式查询:"OWNERID":((?!${__V(${GetOwnerId})})\d+),.*?"LASTNAME":"(.*?)"
在这里,我使用了V函数,其中returns评估变量名的值。