zoukankan      html  css  js  c++  java
  • 第一次手写Loadrunner测试脚本

    第一次手写性能测试脚本,过程比较虐:

    1、辅助工具:抓包工具burpsuite,观察请求及响应数据
    2、了解Loadrunner中的一个模拟请求的函数:可以模拟get和post
           web_submit_data("IsAttenderMobileOrEmailExist", 
                 "Action=O网页链接", 
                 "Method=POST", 
                 "TargetFrame=", 
                 "RecContentType=application/x-www-form-urlencoded; charset=UTF-8", 
                 "Referer=O网页链接", 
                 "Snapshot=t23.inf", 
                 "Mode=HTML", 
                 ITEMDATA, 
                 "Name=ASP.NET_SessionId", "Value={ASP.NET_SessionId}", ENDITEM, 
                 "Name=__RequestVerificationToken_L2NvbmZlcmVuY2U1", "Value={__RequestVerificationToken_L2NvbmZlcmVuY2U1}", ENDITEM, 
                 "Name=__RequestVerificationToken", "Value={__RequestVerificationToken}", ENDITEM, 
                 "Name=No", "Value=MEETING0920", ENDITEM, 
                 "Name=SiteId", "Value=987", ENDITEM, 
                 "Name=Mobile", "Value=13001051551", ENDITEM, 
                 "Name=Email", "Value=jing.tang@ccwonline.com", ENDITEM, 
                 LAST);
    3、手动关联:根据抓包工具获取到的请求参数,与工程师确认服务器自动返回参数,然后手动关联
       (1)关联函数:
               web_reg_save_param("__RequestVerificationToken_L2NvbmZlcmVuY2U1",
                    "LB=__RequestVerificationToken_L2NvbmZlcmVuY2U1=",
                    "RB=;",
                    "Ord=1",
                    "RelFrameId=1",
                    "Search=ALL",
                    LAST);
            通过postman查看响应数据,确定关联函数中的左右边界值,如果边界值内容中存在双引号",需要对其转义,使用反斜杠"
            一开始是从网上搜了个关联函数,运行后报错Action.c(6): Error -27216: Invalid argument (number 4)   [MsgId: MERR-27216],这个意思是这个函数中的第4个参数无效,结果仔细回忆,原来拷贝的函数是web_reg_save_param_ex,后来手动将_ex删掉,而这两个函数的参数名是不一样的
        (2)关联函数位置一定要放到请求服务器返回关联参数的函数前面
        (3)关联三个参数,只有一个参数能保存,但替换时就丢失,日志报如下警告:Warning: The string '__RequestVerificationToken' with parameter delimiters is not a parameter.
             解决办法:将web_reg_save_param 改为 web_reg_save_param_ex
               web_reg_save_param_ex(
                    "ParamName=__RequestVerificationToken",
                    "LB=<input name="__RequestVerificationToken" type="hidden" value="",
                    "RB=" />",
                    LAST);
    4、关联没问题后,运行脚本,还是报错,Action.c(102): To location "O网页链接"   [MsgId: MMSG-26693]
       结果通过被测程序的日志发现,脚本的函数中少了个post参数address,添加后正常运行
    5、重复运行后,关联函数找不到要保存的值,报错如下:Error -26377: No match found for the requested parameter "__RequestVerificationToken_L2NvbmZlcmVuY2U1". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 50000 bytes, use web_set_max_html_param_len to increase the parameter size   [MsgId: MERR-26377]
       结果发现是重复注册的问题,如果重复注册,服务器就不返回__RequestVerificationToken_L2NvbmZlcmVuY2U1,所以找不到,删除数据后,重新执行ok

    6、脚本终于不报错了,运行完一看数据库,中文全是乱码,但是脚本中不是,搜索得出:脚本编辑器中的编码与运行时系统的数据编码不同所导致
       解决办法:Run-time Settings中,找到 Preferences >> Option >> Convert form/to UTF-8,按需选择,YES

    到此,算是一个里程碑了,加油!!!

  • 相关阅读:
    咱家自己的vim配置
    Oauth2手册 第一章
    tcpdf 将网页生成pdf
    Lua 学习记事本
    Lua中的table函数(转)
    Lua常用函数
    将显示对象变成黑白
    Flash 3D 基础
    高等物理:数值积分
    Camera类的基本使用
  • 原文地址:https://www.cnblogs.com/tjtest/p/7755862.html
Copyright © 2011-2022 走看看