51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2065|回复: 1
打印 上一主题 下一主题

[原创] 五:Load Runner 中常用函数的解释

[复制链接]
  • TA的每日心情
    郁闷
    2018-3-6 10:31
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2017-8-29 19:25:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    今天我们来讨论一下,在使用Load Runner的VuGen录制脚本的时候,使用到的一些函数,以便增强我们脚本的健壮性。以下的言论只是本人自己在学习过程中总结出现来的,有什么不对的地方,希望大家一块进行讨论,进步。
    1.事务和控制事务:
           事务是从一开始执行,就必须运行完成。我们可以将一个具体的操作定义成为一个事务来进行操作,比如登录,我们将登录的操作放到一个事务中,很好能够体现出登录的响应时间。系统的性能就是依靠一个个的事务来组成的。
       函数;1> lr_start_transaction(“事务的名称”):标记事务开始的函数
               2> lr_end_transaction(“事务结束的标记,必须与事务开始的名称一致”,事务结束的方式):标记事务结束的函数。
                                  事务结束的三种标记:
                                                    (1)lr_end_transaction("事务的名称",LR_AUTO):自动结束 不判断 正确或错误
                                                     (2)lr_end_transaction("事务的名称",LR_PASS);:以成功状态结束
                                                    (3)lr_end_transaction("事务的名称",LR_FAIL);以失败的状态结束
               3> lr_get_transaction_duration("事务的名称"):获取事务的响应时间。开始到结束
    2.集合点函数:集合点开始的标志
       设置集合点可以是我们的并发访问更加的真实,
      函数:
            lr_rendezvous("集合点名称"):将要进行下一步操作的用户集合起来。
    4.检验是否显示正确的函数:(为了验证我们一下不的操作是否正确,可以使用下面的函数进行验证,将出现特定的数据的左右边界值给固定检查)
       web_reg_save_param("YanZheng",
                    "LB=<small><B>",
                    "RB=</B></small>",
                    LAST);//放在需要验证的事务的前面
    5.验证是否返回了正确的函数;(我们使用下面的方法来验证上面要检查的正确的数据)
          if(strstr(lr_eval_string("{YanZheng}"),"Thank you for booking through Web Tours.")!=NULL)
                  {
                        lr_end_transaction("事务的名称",LR_PASS);//事务成功
                        lr_output_message("写入想要打印的文字提示:%s,写入想要打印的文字提示:%s",
                        lr_eval_string("{想要输出的参数化的名称}"),lr_eval_string("{想要输出的参数化的名称}"));

            }else{
                      lr_end_transaction("事务的名称",LR_FAIL);//事务失败(没有找到我们的检查点)
                      lr_output_message("想要输出日志提示");//lr中log的打印形式
            }

    6.验证输出日志函数:可以帮助我们很好的打印出我们想要的信息,进行优化脚本
          1>lr_debug_message:将调试消息发送到输出窗口
          2>lr_error_message:将错误消息发送到输出窗口
          3>lr_get_debug_message:检索当前的消息类
           4>lr_log_message:将输出消息直接发到output.txt文件中,此文件位于Vuser脚本目录中。该函数有助于防止输出消息干扰TCP/IP通信。
           5>lr_output_message:将消息发送到输出窗口lr_set_debug_message/为输出消息设置消息类。
          6>lr_vuser_status_message:生成格式化输出并将其打印到ControollerVuser状态区
          7>lr_message:将消息发送到Vuser日志和输出窗口。
    7.子事务的函数
        1> lr_start_sub_transaction: 标记子事务的开始
         2> lr_end_sub_transaction :标记子事务的结束以便进行性能分析
    8.获取事务的时间的函数
        1>  lr_get_transaction_duration: 获取事务的持续时间(按事务的名称)
        2> lr_get_transaction_think_time: 获取事务的思考时间(按事务的名称)
        3> lr_get_transaction_wasted_time: 获取事务浪费的时间(按事务的名称)
    9.检索脚本中出现的数据类型的事务:
        1> lr_save_datetime:把当前时间和日期保存到一个参数中
        2> lr_save_int:把一个整数保存为参数
        3> r_save_senarched_string:保存一个字符串数组对于字符串出现的部分
        4> lr_save_var:把字符串的一部分内容保存为参数。
        5> lr_save_string:把一个字符串保存到参数中。
        6> lr_eval_string:返回参数的实际内容或返回一个包含参数的字符串的实际内。

    在这我只是将学习中接触到的一些函数方法给列了出来,当然lr中还有很多函数能够帮助我们,大家一块探讨,会进步更快。
    在这我附加上我前几篇的地址,希望能够给大家带来帮助:
    一:http://bbs.51testing.com/thread-1139208-1-1.html
    二:http://bbs.51testing.com/thread-1139272-1-1.html
    三:http://bbs.51testing.com/thread-1139305-1-1.html
    四:http://bbs.51testing.com/thread-1139338-1-1.html


    写的有什么不对的地方希望大家发出来一块讨论一下,也希望大牛们给提点建议,哈哈!!!


           



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏2
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 09:00
  • 签到天数: 1025 天

    连续签到: 4 天

    [LV.10]测试总司令

    2#
    发表于 2017-8-30 09:21:48 | 只看该作者
    感谢分享!很不错!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-27 19:17 , Processed in 0.081273 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表