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

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

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

运行脚本后,选择树结构,可查看各请求的请求数据和响应结果!经过分析得出,后续请求用到的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. 以太坊 layer2: optimism 源码学习(二) 提现原理

    作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 掘金:https://juejin.im/user/1785262612681997 博客:http://www.cnblogs.com/ ...

  2. An iOS zero-click radio proximity exploit odyssey

    NOTE: This specific issue was fixed before the launch of Privacy-Preserving Contact Tracing in iOS 1 ...

  3. openstack中Cinder组件简解

    一,Cinder组件介绍 概念 cinder组件作用: 块存储服务,为运行实例提供稳定的数据块存储服务 块存储服务,提供对 volume 从创建到删除整个生命周期的管理 二,常用操作 1.Volume ...

  4. 在hyper-v虚拟机中安装并配置linux

    虽然都是自己写的,还是贴个原文链接吧,如果文章里的图片错乱了,可能就是我贴错了,去看原文吧. 多图警告 WSL2真香? WSL2相比于WSL1前者更类似于虚拟机,配合上Windoes Terminal ...

  5. 接口测试神器Apifox,亲测好用!

    自己关注的公众号比较多,之前有收到过有关 Apifox 的文章,自己也是大致看看,还没有用过它! 最近看到比较多有关 Apifox 的文章,所以自己就花了点时间去研究它,使用完后发现确实比Postma ...

  6. RabbitMQ之消息模式简单易懂,超详细分享~~~

    前言 上一篇对RabbitMQ的流程和相关的理论进行初步的概述,如果小伙伴之前对消息队列不是很了解,那么在看理论时会有些困惑,这里以消息模式为切入点,结合理论细节和代码实践的方式一起来学习. 正文 常 ...

  7. Java 异步编程 (5 种异步实现方式详解)

    ​ 同步操作如果遇到一个耗时的方法,需要阻塞等待,那么我们有没有办法解决呢?让它异步执行,下面我会详解异步及实现@mikechen 目录 什么是异步? 一.线程异步 二.Future异步 三.Comp ...

  8. OKR之剑(理念篇)02—— OKR布道之旅

    作者:vivo互联网平台产品研发团队 1.我们是如何引入的 1.1.企业文化匹配 大概是在2013年底,一些创业者在硅谷深受OKR洗礼,并在自己的公司内小范围运用,以此OKR开始传入中国.而vivo初 ...

  9. 更改elasticsearch中索引的mapping

    文章转载自:https://www.cnblogs.com/uglyliu/p/12331964.html 昨天研发说在kibana中统计userid字段不出图,后来查到该字段显示冲突了,然后再查看了 ...

  10. HTTPS安全加固配置最佳实践指南

    转载自:https://www.bilibili.com/read/cv16067729?spm_id_from=333.999.0.0 0x02 HTTPS安全加固指南 描述: 当你的网站上了 HT ...