美文网首页LoadRunner
手动编写loadrunner脚本

手动编写loadrunner脚本

作者: 一直小鱼 | 来源:发表于2017-06-05 18:11 被阅读1786次

    某款app,领导要求使用loadrunner对服务端进行压力测试。由于非web页面,无法采取录制方式,尝试手动编写脚本。

    1. Loadrunner基础知识

    • Lr常用的函数
    • Lr定义变量
    • Lr参数化
    • .....

    2. 脚本编写

    2.1 定义接口
     //定义接口url
     char *interface_url;
     lr_save_string("http://127.0.0.1","interface_url");
    
    

    char : 定义一个char类型的变量来存储url
    lr_save_string : lr_save_string函数主要是将程序中的常量或变量保存为lr中的参数

    2.2 编写事务

    从登陆开始吧。

    //登录事务
    lr_start_transaction("用户登录");  
    lr_rendezvous("login");
    
    web_custom_request("login",
           "Url={interface_url}",       //使用{}引用参数
           "Method=POST",               //HTTP方法:POST 或 GET  
           "Mode=HTTP",                 //记录模式:HTML 或 HTTP
           "EncType=application/json",                //编码类型
           "RecContentType=application/json",                          //内容类型                 
           "Body={\"mobile\":\"13900009999\",\"pwd\":\"123456\"}",     //请求body
            LAST);
    
    lr_end_transaction("用户登录",LR_AUTO); 
    

    Loadrunner中关于http请求的函数很多,常见如

    • web_url
    • web_custom_request
    • web_image
    • web_add_cookie
    • web_add_header

    web_custom_request函数允许使用任何方法或主体创建自定义的HTTP请求,其使用范围更广。

    其中,Body中,如果是json类型的,引号需要使用 \ 进行转义。其他类型的,直接跟=后面即可。

    2.3 检查响应是否符合预期

    通过web_reg_find,可以验证响应是否符合期望,如通过搜索文本字符串。

    web_reg_find("Search=Body",
          "Text=user_id",
          "SaveCount=userId",
          LAST);
    
    • Search : 搜索字符串的搜索范围,如ALL、Body、Header
    • Text : 搜索的字符串
    • SaveCount : 匹配的数量,并存储在一个参数中
    2.4 动态数据信息保存到一个参数
     //获取用户登录后响应数据user_token,并传给user_token
     web_reg_save_param("user_token",
          "LB=\"user_token\":\"",
          "RB=\"",
           "Ord=1",
           "Notfound=empty",
           "Search=Body",
           LAST);
    
    
    • LB 参数的左边界
    • RB 参数的右边界
    • Ord 匹配的序号位置,默认为1
    • Notfound 当没有找到边界时的处理选项,选项有:Notfound=error -
      Notfound=empty
    • Search : 搜索字符串的搜索范围,如ALL、Body、Header

    例:(如下json)

    {"mobile":"18900001234","password":"123456"}
    

    匹配手机号,那么它的左边界为:\"mobile\":\",右边界为:\",\"password

    备注: 引号需要用斜杠进行转义

    相关文章

      网友评论

        本文标题:手动编写loadrunner脚本

        本文链接:https://www.haomeiwen.com/subject/mjnifxtx.html