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

时间:2013-04-27 08:08:35

标签: xml loadrunner

我有一个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()获取它,更重要的是,在给定日志的情况下会建议使用哪个xpath / path贴在上面?

1 个答案:

答案 0 :(得分:1)

尝试使用查询

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