问题描述
是否可以等待XPath或CSS选择器在Jmeter中显示?
我正在使用HTTP请求发送API调用,并且我有断言作为CSS选择器路径,但是由于API速度慢,我想为UI中的特定元素实现waitfor方法。
解决方法
JMeter在得到服务器的响应之前不会执行任何Post-Processors或Assertions或Listeners,因此您无需执行任何操作。有关更多详细信息,请参见Execution order用户手册一章。
但是,如果我误解了您的要求,并且您想重复HTTP请求,直到XPath或CSS提取器返回您要查找的值,就可以将请求放在While Controller下,并在其中放置您选择的条件:
在上述情况下:
- 在While控制器
${myVariable}
的迭代0上没有任何值(尚未执行CSS选择器提取器) - 从1到5的迭代-
${myVariable}
的值为foo
,它与Controller的条件不匹配,因此会循环 - 迭代6-
${myVariable}
的值变为bar
,而While控制器退出循环。
以防万一,jexl3() function的文本表示形式用于将变量与某些值进行比较:
${__jexl3("${myVariable}" != "bar",)}