JMeter技术问题:如何提取非空随机值,排除空值及首个值?
JMeter正则表达式提取器提取非空随机值方案
你之前用的value="(.*?)"会匹配到空值,是因为.*?允许匹配0个字符。要排除空值,直接把正则改成:
value="([^"]+)"
[^"]+的意思是匹配至少一个非双引号的字符,这样就只会抓取value属性里有实际内容的项,不会匹配value=""这种空值。
然后在正则表达式提取器里这么配置:
- 引用名称:自定义(比如
selectedTown) - 正则表达式:
value="([^"]+)" - 模板:
$1$ - 匹配数字:填
0就会随机从所有非空值里选一个;如果填-1,会把所有非空值提取成数组(比如selectedTown_1、selectedTown_2...),后续可以按需调用。
另外你之前试的$.[.*?(@.value != "")].value是XPath语法,正则表达式提取器不支持这种写法,要用正则的语法才行。用上面的正则处理你提供的HTML,能精准提取出:
- Agios Athanasios
- Akropolis 35, Dromolaxia
- Dhekelia
内容的提问来源于stack exchange,提问作者Ursula Friede
相关产品推荐
相关产品推荐

