Loadrunner_Web Services协议操作指南

  1. 目的

本文档的目的是主要针对loadrunner性能测试工具Web Services协议的详解。达到性能测试的便捷性有效性。

  1. 特性

Loadrunner,是一种预测系统行为和性能的负载测试工具,可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统吸能。Loadrunner性能测试工具涉及多种协议的测试,一般最常见的协议有http协议,Web Services协议,sockets协议等,本文档主要针对Web Services协议进行详解。

Web Services是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接。其中最基本的协议包括soap,wsdl,uddi。

  1. Web Services协议测试方法

1.本LoadRunner性能测试Web Services协议模板脚本,取自实例“XX系统”。

2.由项目组提供请求报文,将报文转为.xml后缀文件,进入LoadRunner,点击Import SOAP,将报文导入luadrunner,填写系统访问地址,导入。

3.在已导入的脚本中添加事物名,可执行报文是否成功。

4.Web Services协议脚本通常有固定的格式,如脚本中,""-""中间注释项为导入的请求报文,其余代码为固定访问格式。

5.脚本中有用到关联法,来获取到报文中返回的请求值,获取请求值并判断返回值是否为成功。文中关联代码如下,lr_xml_extract为web services协议关联函数,response为请求报文的返回内容。

lr_xml_extract("XML={response}",
            "FastQuery=/Envelope/Body/getPolicyResponse",
            "XMLFragmentParam=ParamXml_getPolicyResponse",
            LAST);

6.Web Services协议可不进行关联,直接取报文中response值进行输出判断。

7.脚本if语句为判断方法,使用到的判断函数为strstr,主要使用方法为,检索报文返回信息中是否包含判断项,如下为判断代码:

if (strstr(lr_eval_string("{ParamXml_getPolicyResponse}"),"成功")!=NULL) {
    lr_end_transaction("webserver报文模板", LR_PASS);
  }
  else{
    lr_end_transaction("webserver报文模板", LR_FAIL);
    lr_error_message("webserver报文模板=%s", lr_eval_string("{ParamXml_getPolicyResponse}"));
  }

 

 

实例:

Action()
{
lr_start_transaction("webserver报文模板");
    
    soap_request("StepName=SOAP Request", 
        "URL=http://XXXXXXX", 
                 //"URL=http://XXXXXXX",
        "SOAPEnvelope="
            ""
                ""
                ""
                    ""
                        ""
                           报文
                        "
"
                    "
"
                "
"
            "
", 
        "SOAPAction=", 
        "ResponseParam=response", 
        "Snapshot=t1547804174.inf", 
        LAST);
    lr_xml_extract("XML={response}",
                   "FastQuery=/Envelope/Body/getPolicyResponse",
                   "XMLFragmentParam=ParamXml_getPolicyResponse",
                   LAST);
//lr_end_transaction("获取保单概要信息",);
    if (strstr(lr_eval_string("{ParamXml_getPolicyResponse}"),"成功")!=NULL) {
    lr_end_transaction("webserver报文模板", LR_PASS);
  }
  else{
    lr_end_transaction("webserver报文模板", LR_FAIL);
    lr_error_message("webserver报文模板=%s", lr_eval_string("{ParamXml_getPolicyResponse}"));
  }
return 0;
}

你可能感兴趣的:(笔记)