LoadRunner如何获取web_submit_data的返回值

上一篇 / 下一篇  2016-03-04 17:39:55 / 个人分类:WEB性能测试

背景:考虑到预约的问题,在预约一个订单,怎样确定预约是成功的呢?要是有多个用户并发去预约一个号源,肯定有没有预约成功的用户,那么我怎么确认该用户预约失败了呢?在51提问的时候,有人提到了可以通过获取服务器返回值的状态码,来确定是否预约成功。询问了公司的开发,成功接口返回code:0  失败返回code:1 。


    之后,一直思考怎么解决这个问题,然后看到了如下博文:http://bbs.csdn.net/topics/310138356,受益颇深,也解决了问题。具体解决问题如下:
    1.录制一个示例脚本(登录),脚本内容如下:
Action()
{
    web_url("booking",
        "URL=http://192.168.0.99:8081/booking",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t2.inf",
        "Mode=HTML",
        LAST);

    /*进行登录操作*/

    lr_think_time(8);

    web_reg_find("Text=chenyinhua",  //检查点
                 "SaveCount=a",
                 LAST);

    web_submit_data("loginAction!loginQuick.action",
        "Action=http://192.168.0.99:8081/booking/loginAction!loginQuick.action",
        "Method=POST",
        "TargetFrame=",
        "RecContentType=text/html",
        "Referer=http://192.168.0.99:8081/booking/",
        "Snapshot=t8.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=orderwebUser.userName", "Value=Y2hlbnlpbmh1YQ==/", ENDITEM,
        "Name=userPassword", "Value=MTIzNDU2", ENDITEM,
        "Name=certCode", "Value=1111", ENDITEM,
        LAST);

    return 0;
}
    2.在脚本最开始,定义一个变量,用于判断登录是否成功
       int status;

    3.将web_submit_data的返回值赋值给status,如下:
status=web_submit_data("loginAction!loginQuick.action",
        "Action=http://192.168.0.99:8081/booking/loginAction!loginQuick.action",
        "Method=POST",
        "TargetFrame=",
        "RecContentType=text/html",
        "Referer=http://192.168.0.99:8081/booking/",
        "Snapshot=t8.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=orderwebUser.userName", "Value=Y2hlbnlpbmh1YQ==/", ENDITEM,
        "Name=userPassword", "Value=MTIzNDU2", ENDITEM,
        "Name=certCode", "Value=1111", ENDITEM,
        LAST);
    4.写入一个判断,输出status的值
    if(status==1)        //一旦登录失败,脚本给出提示报错信息
    {
        lr_error_message("错误信息:%s","不能正常登录");
        return -1;
    }else if(status==0){
      lr_output_message("登录成功。status=%d",status);
      return 0;
    }else{
      lr_output_message("异常");
    }
这里也可以用status的值,来判断登录事务是成功还是失败。
    5.所以,整合后的脚本如下:
Action()
{
    int status;    //定义变量,用于判断登录是否成功


    web_url("booking",
        "URL=http://192.168.0.99:8081/booking",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t2.inf",
        "Mode=HTML",
        LAST);

    /*进行登录操作*/

    lr_think_time(8);

    web_reg_find("Text=chenyinhua",
                 "SaveCount=a",
                 LAST);

    status=web_submit_data("loginAction!loginQuick.action",
        "Action=http://192.168.0.99:8081/booking/loginAction!loginQuick.action",
        "Method=POST",
        "TargetFrame=",
        "RecContentType=text/html",
        "Referer=http://192.168.0.99:8081/booking/",
        "Snapshot=t8.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=orderwebUser.userName", "Value=Y2hlbnlpbmh1YQ==/", ENDITEM,
        "Name=userPassword", "Value=MTIzNDU2", ENDITEM,
        "Name=certCode", "Value=1111", ENDITEM,
        LAST);


    if(status==1)        //一旦登录失败,脚本给出提示报错信息
    {
        lr_error_message("错误信息:%s","不能正常登录");
        return -1;
    }else if(status==0){
      lr_output_message("登录成功。status=%d",status);
      return 0;
    }else{
      lr_output_message("异常");
    }


    希望对你有所帮助!




TAG:

佑哥的个人空间 引用 删除 tobetoptest2015   /   2016-09-30 11:40:57
3
 

评分:0

我来说两句

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 53559
  • 日志数: 16
  • 建立时间: 2015-11-16
  • 更新时间: 2016-04-14

RSS订阅

Open Toolbar