jquery - 在JMETER中,如何根据特定文本提取选择名称和选项值

标签 jquery html regex xpath jmeter

我遇到了一个问题,需要你的帮助来解决这个问题。

我正在测试的网页有很多字段,其中有一些重复字段。 这些字段之一是具有不同数量选项的选择列表。有时它只有 1 个选项(“默认”),有时它有 2 个选项(“默认”和“自定义”)。为了进一步处理此请求,我只对那些选择了“自定义”选项值的选择列表感兴趣。因此,如果选择列表选择了“默认”,那么我想忽略它。但我只想提取那些选择“自定义”选项的字段。在这种情况下,我想提取选择列表名称和选项的值。

页面中的选择列表如下所示:

<select id="delOpt1" name="delOpt1" class="dd">
<option select="selected" value="1406">Default</option>
</select>

<select id="delOpt2" name="delOpt2" class="dd">
<option value="13987">Default</option>
<option selected="selected" value="18902">Custom</option>
</select>

<select id="delOpt3" name="delOpt3" class="dd">
<option value="2101">Default</option>
<option selected="selected" value="21921">Custom</option>
</select>

<select id="delOpt4" name="delOpt4" class="dd">
<option select="selected" value="3232">Default</option>
</select>

所以在这种情况下我只想提取以下两个:

  • delOpt2=218092
  • delOpt3=21921

到目前为止,我只能提取选择名称或选项值,但不能同时提取两者。我尝试过 XPath Extractor、CSS/JQuery Extractor 和正则表达式提取器。但他们一次只能提取 1 个值。即使我使用 2 个不同的提取器并将值存储在 2 个变量中,我也无法将选择名称与选项值关联起来。

我得到了所有选择列表,例如:

CSS/JQuery Extractor
Reference: delOptSelectName
CSS/JQuery expression: select[class=dd]
Attribute: name
Match No.: 1
Default Value: NOTFOUND

这给了我

Match[1]=delOpt1
Match[2]=delOpt2
Match[3]=delOpt3
Match[4]=delOpt4

我可以获得所有选项值,例如:

CSS/JQuery Extractor
Reference: optionValues
CSS/JQuery expression: select[class=dd] option
Attribute: value
Match No.: 1
Default Value: NOTFOUND

这给了我

Match count: 6
Match[1]=1406
Match[2]=13987
Match[3]=18902
Match[4]=2101
Match[5]=21921
Match[6]=3232

或者我只得到那些被选择的选项

CSS/JQuery Extractor
Reference: optionValues
CSS/JQuery expression: select[class=dd] option[selected=selected]
Attribute: value
Match No.: 1
Default Value: NOTFOUND

这给了我

Match count: 4
Match[1]=1406
Match[2]=18902
Match[3]=21921
Match[4]=3232

现在我有 4 个选择列表和 4 个选项,但是如何比较哪些选项值属于那些选项为“自定义”的值,并且如何获取选择名称?

任何解决此问题的指示都将受到高度赞赏。

谢谢。

-赫马尔

最佳答案

我会选择以下 XPath 表达式:

//select/option[text()='Custom']/../@name | //select/option[text()='Custom']/@value

它会返回类似的内容

option_1=delOpt2
option_2=18902
option_3=delOpt3
option_4=21921

因此奇数将是选择名称,偶数是选项值。

有关 XPath 语言的更多信息,请参阅 XPath specification , XPath TutorialUsing the XPath Extractor in JMeter指导。

关于jquery - 在JMETER中,如何根据特定文本提取选择名称和选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446329/

相关文章:

javascript - 使用 jquery 在单击时不断向变量添加数字

javascript - 取一个字符串并将第一个字符大写 - 为什么这会杀死浏览器

javascript - 如何将具有值的行/列添加到数据表 csv 导出

javascript - onchange 禁用和启用复选框

javascript - 如何像google一样在圆圈中显示不同分辨率的动态图片?

html - 摆脱表头第一个元素的右边界的最有效方法是什么?

HTML 子菜单不起作用

javascript - 如何为多个 Canvas 图像填充颜色?

javascript - 在 JavaScript 正则表达式匹配中移动索引

regex - 如何删除冗余字段并合并结果行