在正则表达式或XPath提取器中按文本查找选项值

时间:2019-05-13 14:50:19

标签: java regex jmeter

如何从以下响应中通过正则表达式或xpath从文本中提取选项值

xpath提取器

 //*[@id="form_extsss:fromSerie2"]/option[text()='-DRIVE_ME']/@value

例如:

-DRIVE_ME的选项值是630(期望630为最终值)

回复

    <?xml version="1.0" encoding="UTF-8"?>
<partial-response>
   <changes>
      <update id="form_extsss"><![CDATA[<form id="form_extsss" name="form_extsss" 
      method="post" action="" enctype="multipart/form-data">
        <select id="form_extsss:fromSerie2" name="form_extsss:fromSerie2" size="1" onchange="PrimeFaces.ab({s:&quot;form_extsss:fromSerie2&quot;,e:&quot;valueChange&quot;,p:&quot;form_extsss:fromSerie2&quot;,u:&quot;form_extsss&quot;});" style="width:110px">  <option value="-1">Select Series</option>   
        <option value="1384">-HAD</option>  
        <option value="630">-DRIVE_ME</option>
        </select>                       
                                    </form>]]></update>
      <update id="javax.faces.ViewState"><![CDATA[]]></update>
   </changes>
</partial-response>

3 个答案:

答案 0 :(得分:0)

<option value="630">

下面的正则表达式可以在正则表达式提取器中使用:-

<option value="(.\d*)">

答案 1 :(得分:0)

由于CDATA仅表示为字符串,因此无法使用xpath

但是,如果有xquery可用

let $x := <partial-response>
    <changes>
      <update id="form_extsss"><![CDATA[<form id="form_extsss" name="form_extsss" method="post" action="" enctype="multipart/form-data">
      <select id="form_extsss:fromSerie2" name="form_extsss:fromSerie2" size="1"  onchange="PrimeFaces.ab({s:&quot;form_extsss:fromSerie2&quot;,e:&quot;valueChange&quot;,p:&quot;form_extsss:fromSerie2&quot;,u:&quot;form_extsss&quot;});" style="width:110px">
        <option value="-1">Select Series</option>   
        <option value="1384">-HAD</option>  
        <option value="630">-DRIVE_ME</option>
      </select>                       
                                </form>]]></update>
      <update id="javax.faces.ViewState"><![CDATA[]]></update>
    </changes>
  </partial-response>

return parse-xml($x/changes/update/text())/form/select/option/@value

答案 2 :(得分:0)

检查以下正则表达式是否对您的场景有所帮助:- enter image description here enter image description here