51Testing软件测试论坛

标题: 如何从服务器返回的XML字符中获取需要的值?? [打印本页]

作者: laishiming    时间: 2008-11-17 15:57
标题: 如何从服务器返回的XML字符中获取需要的值??
我用loadrunner8.1  web协议录制了个脚本,需要从服务器返回的XML信息中获取customerid对应的值,请问如何获取啊
<?xml version='1.0' encoding='gb2312'?><root><searchResult>1</searchResult><customerid>CUSTOMER9c2197c852014881bc19c00f03202ddf</customerid><customertype>1</customertype><companyname>北京党政机关团体</companyname><familyname>测试用户1</familyname><firstname></firstname><address></address><phone></phone><identifynumber></identifynumber><mobile>15811027247</mobile></root>

试过用以下的方式读取,但还是取不到对应的值
        web_reg_save_param("WCSParam_Text2",
                "LB=<customerid>",
                "RB=</customerid>",
                "Ord=1",
                LAST);
作者: archonwang    时间: 2008-11-17 16:39
可以使用关联方式获取返回值。

参考下这篇文章。
http://www.testage.net/html/18/n-140618.html
http://www.testage.net/html/95/n-140495.html

[ 本帖最后由 archonwang 于 2008-11-17 16:43 编辑 ]
作者: laishiming    时间: 2008-11-17 23:02
标题: 回复 2# 的帖子
谢谢!!呆会我就进去好好看下
作者: laishiming    时间: 2008-11-18 00:46
标题: 回复 2# 的帖子
能说说你是怎么关联的吗? 我用的关联方式不知道为什么取不到值
作者: archonwang    时间: 2008-11-18 08:57
把代码贴出来,看看是不是能帮到你。
作者: laishiming    时间: 2008-11-18 10:49
以下是发出请求的代码
        web_custom_request("processPopCustomer.do",
                "URL=http://10.11.15.3:8080/platform/customer/processPopCustomer.do?actionType=popCustomerInfo&type=dialin&uuid=&customerId={customerId}&ani=&ts=1226904547220",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/xml",
                "Referer=http://10.11.15.3:8080/platform/common/frame/popCurrentCustomerInfo.jsp",
                "Snapshot=t174.inf",
                "Mode=HTTP",
                "EncType=",
                LAST);
作者: archonwang    时间: 2008-11-18 11:20
问下,你的customerid是不是加过密?
作者: laishiming    时间: 2008-11-18 11:30
以下是发出请求的代码
        web_custom_request("processPopCustomer.do",
                "URL=http://10.11.15.3:8080/platform/customer/processPopCustomer.do?actionType=popCustomerInfo&type=dialin&uuid=&customerId={customerId}&ani=&ts=1226904547220",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/xml",
                "Referer=http://10.11.15.3:8080/platform/common/frame/popCurrentCustomerInfo.jsp",
                "Snapshot=t174.inf",
                "Mode=HTTP",
                "EncType=",
                LAST);
作者: laishiming    时间: 2008-11-18 11:32
标题: 回复 7# 的帖子
没加密,这是明文
作者: wangxinhai526    时间: 2008-11-18 12:44
使用lr_xml_get_values()函数就可以了
作者: archonwang    时间: 2008-11-18 12:54
貌似可以这样的。今天重新翻看了下以前的资料。有介绍类似的方法。

http://www.51testing.com/?6343/action_viewspace_itemid_14822.html

参考前辈的代码:
               lr_output_message(lr_eval_string("{response}"));

                lr_xml_get_values("XML={response}",
              "ValueParam=Result",
              "Query=//RetCode",
              LAST);

                lr_output_message(lr_eval_string("{Result}"));

[ 本帖最后由 archonwang 于 2008-11-18 12:58 编辑 ]
作者: laishiming    时间: 2008-11-18 13:14
标题: 回复 11# 的帖子
也考虑过lr_xml_get_values方法,可{response}  的值怎么取还是个问题




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2