首页 文章

LoadRunner lr_xml_extract()和soap响应中的路径

提问于
浏览
1

我有一个http协议Web服务测试,当放入参数时返回此soap响应:

"\n--uuid:cabe2125-cdda-4cf4-9678-b364921dc1d8\r\nContent-Type: application/xop+xml; charset=UTF-8; type="text/xml";\r\nContent-Transfer-Encoding: binary\r\nContent-ID: <root.message@cxf.apache.org>\r\n\r\n<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:hentDokumentForventningerResponse xmlns:ns2="http://some.com/service/virksomhet/henvendelsesbehandling/v1" xmlns:ns3="http://some.com/service/virksomhet/henvendelse/v1/informasjon"><dokumentForventning><id>400541</id><kodeverkId>2</kodeverkId><innsendingsValg>IKKE_VALGT</innsendingsValg><hovedskjema>false</hovedskjema></dokumentForventning><dokumentForventning><id>400542</id><kodeverkId>ja</kodeverkId><innsendingsValg>IKKE_VALGT</innsendingsValg><hovedskjema>true</hovedskjema></dokumentForventning><dokumentForventning><id>400540</id><kodeverkId>3</kodeverkId><innsendingsValg>IKKE_VALGT</innsendingsValg><hovedskjema>false</hovedskjema></dokumentForventning></ns2:hentDokumentForventningerResponse></soap:Body></soap:Envelope>\r\n--uuid:cabe2125-cdda-4cf4-9678-b364921dc1d8--"

我想提取值400541首先出现在:

xmlns:ns3="http://some.com/service/virksomhet/henvendelse/v1/informasjon"><dokumentForventning><id>

以上 . 看一下soapui中的响应,我看到了结构:

soap:Envelope/soap:Body/ns2:hentDokumentForventningerResponse/dokumentForventning/id

然后我正在使用:

lr_xml_extract("XML={hentDokumentSoapRespons}",

                                    "XMLFragmentParam=OutputParameter",

                                    "Query=/soap:Envelope/soap:Body/ns2:hentDokumentForventningerResponse/dokumentForventning/id", LAST);

但我得到错误(没有找到任何匹配):

HentDokumentforventing.c(66):警告:“lr_xml_extract”找不到任何匹配项

HentDokumentforventing.c(70):通知:参数替换:参数“OutputParameter”=“”

看一下我在一个参数(上面粘贴的日志)中想要得到值400541的响应,我怎么能用lr_xml_extract() grab 它,更重要的是,如果粘贴在上面的日志,会建议哪个xpath / path?

1 回答

  • 1

    尝试使用查询

    /Envelope/Body/hentDokumentForventningerResponse/dokumentForventning[1]/id
    

相关问题