天天看点

laodRuner中Http协议接口编写

需求要求:这两天试用Windows sockets 协议编写脚本,突然说要测试应用服务压力,后面与开发协商是用http协议之后,没有脚本可以录制,从loadrunner自带函数查可以使用web_custom_request函数编写,之后通过火狐插件:HttpRequester参考,再加网上前辈提供帮助,之后编写如下脚本:

测试并且通过。

发现问题,在loadrunner中压测能返回报文,并且查找条件也能正确。但发现数据库查出结果,中文出现乱码;希望谁能指点下;

Action()

{

   char* Recode="000000";  //增加判断正确条件

   char* WebRecode; //定义关联函数取值

 web_reg_save_param("yanz",

  "LB=<RetCode>",

  "RB=</RetCode>",

  LAST);

     web_reg_find("Text=<RetCode>000000</RetCode>",  

                 LAST);

 lr_start_transaction("ABC_试算");

 web_custom_request("web_custom_request",

      "URL=【ip】", //报文IP地址

      "METhod=post",

      "Resource=0",

      "Referer=",

      "Mode=HTML",

       "RecContentType=application/json", 

      "EncType= text/xml;charset=UTF-8",

      "Body=<?xml version=\"1.0\" encoding=\"UTF-8\"?>"  

      //报文内容

      "<ABCB2I>"

      "<Header> "

    "<TransDate>20151102</TransDate> "

    "<TransTime>140854</TransTime> 

    "<TransCode>1002</TransCode> "

    "<ProvCode>11</ProvCode "

    "<SerialNo>111113396600{SerNn}</SerialNo>  "

    ........................

    "</App>"

    "</ABCB2I>", LAST);

WebRecode = lr_eval_string( "{yanz}" ) ;

if(strcmp(Recode,WebRecode)==0)   //试用判断函数

 {

      lr_end_transaction("ABC_试算", LR_PASS);

 }

    else

  lr_end_transaction("ABC_试算", LR_FAIL);

    lr_output_message( "We are on iteration #%s", lr_eval_string( "{yanz}" ) ); }

     return 0;

}

//字符串比较判断。

if(strcmp(lr_eval_string("{www}"),"登陆成功")==0)

    {

        lr_end_sub_transaction("login",LR_PASS);

    }

    else

        lr_end_sub_transaction("login",LR_FAIL);

注:

<code>extern</code> <code>int</code> <code>strcmp</code><code>(</code><code>const</code> <code>char</code> <code>*s1,</code><code>const</code> <code>char</code> <code>*s2);</code>

<code>当s1&lt;s2时,返回为负数 当s1=s2时,返回值= 0 当s1&gt;s2时,返回正数</code>

<code>即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如: "A"&lt;"B" "a"&gt;"A" "computer"&gt;"compare" 特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。 ANSI标准规定,返回值为正数,负数,0 。</code>

谢谢小强老师的借口测试视频,谢谢前辈们的指点。

愿大家能平安健康如意;

本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/1721304,如需转载请自行联系原作者