pzj228 发表于 2009-11-10 09:52:25

loadrunner捕获XML动态值

本人脚本使用webservices协议录制,登陆操作发现服务器返回一些XML内容,当中有一个动态变化的值
直接使用lr_xml_get_values,总是提示found no matches
现在想用web_reg_save_param先把xml所有内容取下来,然后再使用lr_xml_get_values捕获该值不知是否行得通,但我怎么也取不到xml的内容,左右边值在打印日志上取的不对,但系统又没有相关的报错信息,只有显示web_reg_save_param这个函数使用成功,但实际什么内容都没有捕捉下来。
下面时服务器返回来的xml的内容,里面可以看到那个动态值,看看谁能帮忙解决谢谢!:handshake

[ 本帖最后由 pzj228 于 2009-11-10 09:56 编辑 ]

james.zhong 发表于 2009-11-10 11:44:48

:) 期待高人!

qiguojie 发表于 2009-11-10 11:57:11

打开所有日志。

然后回放1次脚本,在脚本文件根目录把日志文件取到,内容贴出来看看(可隐藏敏感信息)

pzj228 发表于 2009-11-11 16:15:04

其实那个图片很清楚了,lr_xml_get_values捕获的选择select all时yes 一共有26个匹配的值,no就自动取第一个
但第一个不是我想要的,问题就在这里,而web_reg_save_param好像在webservices上无效的

脚本如下:
soap_request("StepName=login",
                "URL=http://192.168.1.128:9080/pfms/services/LoginWebService?wsdl",
                "SOAPEnvelope="
                        "<?xml version=\"1.0\" encoding=\"US-ASCII\" standalone=\"no\"?>"
                        "<E:Envelope E:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:y=\"http://www.w3.org/2001/XMLSchema\" xmlns:s=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:A=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:E=\"http://schemas.xmlsoap.org/soap/envelope/\">"
                                "\r\n"
                                "<E:Body>"
                                        "\r\n"
                                        "<m:login xmlns:m=\"http://webservice.login.sysman.tfms.gever.com\">"
                                                "\r\n"
                                                "<parameterStr A:arrayType=\"A:string\" s:type=\"A:Array\">"
                                                        "\r\n"
                                                        "<item>userName==js02</item>"
                                                        "\r\n"
                                                        "<item>passWord==</item>"
                                                        "\r\n"
                                                        "<item>loginZT==1001</item>"
                                                        "\r\n"
                                                        "<item>loginYear==2009</item>"
                                                        "\r\n"
                                                        "<item>loginIP==0.0.0.0</item>"
                                                        "\r\n"
                                                "</parameterStr>"
                                                "\r\n"
                                        "</m:login>"
                                        "\r\n"
                                "</E:Body>"
                                "\r\n"
                        "</E:Envelope>",
                "Snapshot=t3.inf",
                "ResponseParam=response",
                LAST);

        //lr_output_message("ddd :%s", lr_eval_string("{response}"));

        lr_xml_get_values("XML={response}",
                          "Query=/soapenv:Envelope/soapenv:Body/ns1:loginResponse/loginReturn/loginReturn",
                          "ValueParam=loginReturn",
                          "SelectAll=no",
                          LAST);

[ 本帖最后由 pzj228 于 2009-11-11 16:24 编辑 ]
页: [1]
查看完整版本: loadrunner捕获XML动态值