• LoadRunner常用函数和参数化


    C语言注释


        单行注释
            // 
        多行注释
            /**/

    手写脚本原因
        1. 避免LR由于兼容性导致录制异常或失败;
        2. 手写脚本无冗余代码,更有利于脚本的增强(插入事务、参数化)和维护

    常用函数


        1. web_url()
                                            发起get请求
        2. web_submit_data()
                                                            GET/POST请求
        3. web_custom_request()
                                                            get/post/put/delete请求
                                                                        接口测试时使用

    1. Action()
    2. {
    3. // 打开的登录页面
    4. web_url("WebTours",
    5. "URL=http://127.0.0.1:1080/WebTours/",
    6. "TargetFrame=",
    7. "Resource=0",
    8. "RecContentType=text/html",
    9. "Referer=",
    10. "Snapshot=t1.inf",
    11. "Mode=HTML",
    12. LAST);
    13. // 注册按钮进行注册
    14. web_url("点击注册按钮",
    15. "URL=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
    16. "TargetFrame=",
    17. "Resource=0",
    18. "RecContentType=text/html",
    19. "Referer=http://127.0.0.1:1080/WebTours/home.html",
    20. "Snapshot=t2.inf",
    21. "Mode=HTML",
    22. LAST);
    23. // 提交注册用户信息
    24. web_submit_data("login.pl",
    25. "Action=http://127.0.0.1:1080/WebTours/login.pl",
    26. "Method=POST",
    27. "TargetFrame=info",
    28. "RecContentType=text/html",
    29. "Referer=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
    30. "Snapshot=t3.inf",
    31. "Mode=HTML",
    32. ITEMDATA,
    33. "Name=username", "Value={user_name}", ENDITEM,
    34. "Name=password", "Value={password}", ENDITEM,
    35. "Name=passwordConfirm", "Value={password}", ENDITEM,
    36. "Name=firstName", "Value=w", ENDITEM,
    37. "Name=lastName", "Value=e", ENDITEM,
    38. "Name=address1", "Value=", ENDITEM,
    39. "Name=address2", "Value=", ENDITEM,
    40. "Name=register.x", "Value=30", ENDITEM,
    41. "Name=register.y", "Value=15", ENDITEM,
    42. LAST);
    43. return 0;
    44. }

    参数化

    为什么学习参数化
        1. 减少重复代码
        2. 数据代码进行分离,方便维护

    参数化操作
        

    设置参数化
            1. Replace with Parameter
            2.参数化列表(Ctrl + L)
        

    设置参数
            lr_save_string
      

     读取参数
            lr_eval_string
                获取参数名称对应的数据并以字符串形式返回

      

     4. 参数化 Select next row 三种方式及作用
            1. Sequential:顺序,按照行的顺序读取数据,如果迭代次数大于行数,再次从第一行开始读取
            2. Random:随机,随机读取行
            3. Unique:唯一,每次读取唯一行,不重复;
                When out of values
                    1) Abort Vuser:中止虚拟用户
                        报错
                    2) Continue in a cyclic manner:以循环的方式继续
                        不报错
                    3) Continue with last value:继续使用最后一个值
                        报错
            4. Same line as xxx 取参数同行(需要两个以上参数,才能显示和使用)
      

     5. 参数化 Update value on 三种方式及作用
            1. Each iteration:每次迭代以后更新
            2. Each occurrence:每次出现参数时更新
            3. Once:每出现一个虚拟用户(线程)更新一次
        

    6. 如果保持批量数据时的唯一性?


            时间戳
                时间戳函数
                    web_save_timestamp_param()

                参数类型
                    Date/Time类型
            随机数
                RandomNumber

    1. #函数总结
    2. 设置参数 lr_save_string
    3. 读取参数 lr_eval_string
    4. 时间戳函数 web_save_timestamp_param()

  • 相关阅读:
    111. 二叉树的最小深度
    golang 2018,go 1.19安装Gin
    mysql修改密码
    Linux下部署worldPress
    消息队列实现进程间通信
    搞搞算法 1
    P3643 [APIO2016] DP
    【Shell编程】快速入门变量、字符串、传递参数
    【干货超全】国内外常见的Ai大模型汇总!!!
    ThreadLocal你真的用不上吗?
  • 原文地址:https://blog.csdn.net/gregcsdn/article/details/126386187