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

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

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

运行脚本后,选择树结构,可查看各请求的请求数据和响应结果!经过分析得出,后续请求用到的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)..."打开[创建场景]弹窗,默认“手动场景”,点击“确定”打开场景设计页面;

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

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

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

三、分析结果

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

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

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

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

LoadRunner11脚本关联+运行负载+分析结果的更多相关文章

  1. LR12.53—第6课:运行负载测试

    第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...

  2. Camel运行原理分析

    Camel运行原理分析 以一个简单的例子说明一下camel的运行原理,例子本身很简单,目的就是将一个目录下的文件搬运到另一个文件夹,处理器只是将文件(限于文本文件)的内容打印到控制台,首先代码如下: ...

  3. Chrome扩展开发之二——Chrome扩展中脚本的运行机制和通信方式

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  4. 【转】第6篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+自动反射方法分析

    作者: 牛A与牛C之间 时间: 2013-11-21 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第6篇:Xilium CefGlue 关于 CLR Object 与 JS ...

  5. 【转】第5篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+委托回调方法分析

    作者: 牛A与牛C之间 时间: 2013-11-19 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第5篇:Xilium CefGlue 关于 CLR Object 与 JS ...

  6. [转]Loadrunner11之VuGen运行时设置Run-Time Setting

    转自:http://www.51testing.com/html/92/450992-248065.html General 1.Run Logic运行逻辑 脚本如何运行的,每个action和acti ...

  7. Struts2运行流程分析

    一.Struts2运行流程图: 二.运行流程分析: 1. 请求发送给StrutsPrepareAndExecuteFilter 2.StrutsPrepareAndExecuteFilter询问Act ...

  8. linux内存负载分析

    衡量内存负载的一个很重要的指标就是页面置换的频率.当linux系统频繁的对页进行换进换出 的时候,说明物理内存不过,不得不进行频繁的置换页面. 使用vmstat(virtual memory stat ...

  9. Linux服务器Jboss运行环境搭建步骤和开机自动启动脚本编写运行

    Jboss运行环境:Linux+Jdk+Jboss+jsp系统 Jboss软件说明:类似于Tomcat,就是一个跑Jsp系统的环境,他的站点路径跟Tomcat类似,Tomcat存放站点文件到webap ...

随机推荐

  1. Cannot resolve method 'println(java.lang.String)'

    jsp文件中println爆红 <% int sum = 0; for (int i = 1; i <=100 ; i++) { sum+=i; } out.println("& ...

  2. 图床搭建|chrome插件|操作简单不要钱

    为什么需要一个图床 为了写博客 图床:专门用来存放图片,同时允许你把图片对外连接的网上空间. 用markdown格式写作,插入图片需要图片的url地址,然后博客的背景图也是要用url地址. 有段时间, ...

  3. 第十一篇:vue.js监听属性(大作业进行时)

    这个知识点急着用所以就跳过<计算属性>先学了 首先理解一下什么是监听:对事件进行监控,也就是当我进行操作(按了按钮之类的事件)时,会有相应的事情发生 上代码 <div id = &q ...

  4. 第四十篇:Vue的生命周期(一)

    好家伙,军训结束了,回归 Vue实例的生命周期 1.什么是生命周期? 从Vue实例创建,运行到销毁期间总是伴随着各种各样的事件,这些事件,统称为生命周期. 2.什么是生命周期钩子? 生命周期函数的别称 ...

  5. Linux之主从数据库(1+X)

    主从数据库搭建 改主机名 配置网络 配置yum源(下载mysql) 写域名解析文件 主从同步:(备份,负载(读)) 第一步:数据库的初始化,修改配置文件,定义server-id(所有节点),开启二进制 ...

  6. SpringMVC 07: WEB-INF下的资源访问 + SpringMVC拦截器

    WBE-INF目录下的资源访问 项目配置和Spring博客集(指SpringMVC 02)中配置一样 出于对网站资源的安全性保护,放在WBE-INF目录下的资源不可以被外部直接访问 在WEB-INF/ ...

  7. Spark 读Hive并写入HBase

    package com.grady import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.c ...

  8. VSCODE 配置远程调试环境

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16691460.html 我的需求是,在Windows桌面 ...

  9. winform,获取http服务状态

    /// <summary> /// 获取http服务状态 /// </summary> /// <returns></returns> protecte ...

  10. linux下搭建ftp文件服务器

    linux下搭建ftp文件服务器 一.搭建步骤(以在centos7中搭建为例) 1.首先检查一下系统中是否已经安装了vsftpd软件 # 查看是否安装vsftpd rpm -q vsftpd rpm ...