zoukankan      html  css  js  c++  java
  • LoadRunner11脚本关联+运行负载+分析结果

    一、脚本创建关联和插入检查点

     脚本录制完成后,首先需运行脚本回放,验证是否可回放成功,然后找出各事务请求中的关联点!

    如本例子中,录制的场景为:打开综合窗口收件-->查询事项-->窗口登记-->选择申请人-->保存办件-->选择意见-->下一步出件!完成以上场景后,会在【综合窗口出件】页面产生一条签收结果为“未签收”的办件!

    运行脚本后,选择树结构,可查看各请求的请求数据和响应结果!经过分析得出,后续请求用到的controlSeq和handleSeq,是由controlSave.do这个接口产生,因此需要在这里将controlSeq和handleSeq参数值提取,以供后续接口使用!

    1、参数提取--->创建关联

    (1)选中对应的参数值,鼠标右键选择“创建关联”,在弹窗中点击“是”;

    (2)由树结构切回脚本(Script)页面,对应接口请求前有增加了一个提取参数的函数,需修改函数中的左、右边界,拿多一点参数使提取结果更精确!(PS:使用正则表达式进行参数提取,此处不过多描述)

    web_reg_save_param_ex(
    		"ParamName=CorrelationParameter_1",
    		"LB="controlSeq":"",
    		"RB="}",
    		SEARCH_FILTERS,
    		"Scope=All",
    		"RequestUrl=*/add.v*",
            "NotFound=warning",
    		LAST);

    以上步骤,完成了controlSeq的参数提取(handleSeq参数同操作),后续的事务请求中用到参数controlSeq时,其对应的值会自动替换为CorrelationParameter_1,如下图:

    2、添加文本检查

    LoadRunner中的文本检查,相当于Jmeter中的响应断言!

    (1)在想要检查的接口请求前后添加图中的查找函数、打印函数,相关代码和解释如下:

    1  web_reg_find("Search=Body",                                        #Search用来定义查找范围
    2                  "SaveCount=count",                                 #SaveCount定义查找计数变量名称,该参数用来记录在缓存中查找内容出现的次数,可以使用该值,来判断要查找的内容是否被找到;
    3                  "Text=骞夸笢鐪佺�瀛愮�鐞嗘€荤珯",                     #=后为查找的文本内容
    4                  LAST);                                             #本例子的含义:在Body中查找内容为“骞夸笢鐪佺�瀛愮�鐞嗘€荤珯”的信息,并将出现次数记录在变量count中 (注意:web_reg_find()需在对应接口请求前定义)
    5 
    6
    7 lr_output_message(lr_eval_string("{count}")); #打印变量count的值

    (2)将录制时产生的结束事务(对应接口请求所在的事务)的脚本屏蔽,用以下代码替换:

     1           if(atoi(lr_eval_string("{count}")) > 0)               
     2       {
     3           lr_end_transaction("综合窗口收件",LR_PASS);
     4           lr_output_message("综合窗口收件事务成功!");
     5        }
     6       else
     7       { 
     8           lr_end_transaction("综合窗口收件",LR_FAIL);
     9           lr_output_message("综合窗口收件事务失败!");
    10         }

    #代码含义:将找到的要检查的字符串的个数存到count参数中。 通过判断count的值是否大于0来判断是否找到了所要检查的字符串。

    #atoi()函数的作用是将一个ASCII字符串转换为整型

    #lr_eval_string()函数作用是取得参数值,将字符串变量中的参数值替换为当前的参数值并将这个字符串返回

    对应的文本检查是否找到,可在回放日志中查看打印的日志:若找到文本(count>0),则打印事务成功!(PS:一个事务中可能包含多个请求,选择其中一个代表性的请求添加文本检查,以此来判断事务是否成功即可)

    3、验证脚本是否运行成功

    前面介绍,完成以上场景后,会在【综合窗口出件】页面产生一条签收结果为“未签收”的办件!

    (1)未运行脚本前,查看【综合窗口出件】当前页面有226条办件数据;

    (2)运行脚本,再刷新【综合窗口出件】页面,办件数据变为了227条,说明脚本调试成功,正常产生办件数据!

    二、运行负载

    脚本调试成功后,可选择“工具”-->"创建Controller场景(L)..."打开[创建场景]弹窗,默认“手动场景”,点击“确定”打开场景设计页面;

    在场景设计页面,可以看到【创建场景】弹窗中初始化的数据,可双击修改虚拟用户数及负载机;

    在“全局计划”中设置启动虚拟用户、持续时间、停止虚拟用户(一般与启动虚拟用户设置一致)后,可点击【场景组】下的运行负载;页签切换到【运行】,如下图:

     可以在页签中查看场景状态+运行结果以及一些报表结果。

    三、分析结果

    负载测试完成后,可点击“结果”-->"分析结果";

    打开结果分析页面,会自动载入负载测试时的结果数据;结果分析页面包含报告+图表:

     从【概要报告】中可以看出一些我们的测试数据:虚拟用户数、持续时间、事务摘要及平均响应时间等,也可切换头部页签查看具体图表数据,如“平均响应时间”:

    通过整合概要报告和相关图表信息,可整理出测试的性能测试报告!!!

  • 相关阅读:
    通过DialogFragment从DatePicker或TimePicker中获取日期数据
    解决android.os.NetworkOnMainThreadException
    关于在Java EE 下开发web,出现项目中的外部包没有tomcat的包的原因
    HTTP method GET is not supported by this URL(转)
    tomcat安装和基本配置
    ubuntu 下面手动安装jdk
    用django搭建一个简易blog系统(翻译)(四)
    用django搭建一个简易blog系统(翻译)(三)
    用django搭建一个简易blog系统(翻译)(二)
    用django搭建一个简易blog系统(翻译)(一)
  • 原文地址:https://www.cnblogs.com/dnjiang/p/12487808.html
Copyright © 2011-2022 走看看