转:Loadrunner——Block(块)技术
在使用LoadRunner时经常遇到这样一个问题,如果对不同的事务进行不同次数的循环该怎么处理?默认情况下LR对所有的事务都是统一执行的,即虽然有多个事务,但它们被执行的循环次数都是一样的,那么LR如何在一个脚本中实现不同事务不同次数的循环或不同百分比的循环呢?
案例:假设在一个脚本中,想实现注册执行3次,登录执行1次,查询执行2次,怎么办?录3个脚本?每个事务分别在脚本中复制N次?这样是可以解决问题,但不是最好的解决办法,LoadRunner提供了对业务流程的处理方法,即Block(块)技术。
首先,借用LoadRunner自带的订票系统,录制好这三个脚本,录制结束后,脚本如图6-14所示,包含三个业务:注册,登录和查询。
接着,对脚本中的三个业务的迭代次数进行设置,这里使用到的是Block(块)技术。
1)进入菜单Vuser→Run-time Settings,弹出Run-time Settings对话框,选择General→Run Logic选项卡,如图6-15所示。
|
| (点击查看大图)图6-14 录制脚本 |
|
| (点击查看大图)图6-15 Run Logic设置 |
2)选择Run,插入一个Block块,如图6-16所示。
3)选择Block0,点击Insert Action控钮,弹出Select Actions对话框,如图6-17所示,选中要添加的Action,点击OK按钮即可。
|
| (点击查看大图)图6-16 插入Block块 |
|
| (点击查看大图)图6-17 为Block块添加Action |
4)重复以上操作,再新建两个Block块,分别为Block1和Block2,并为这两个块插入对应的Action,如图6-18所示。
|
| (点击查看大图)图6-18 Block块和Action插入完成 |
5)将Block外面的Action删除,最后得到如图6-19所示的Block块。
|
| (点击查看大图)图6-19 删除Block外的Action |
6)设置Block properties。这里有两种选择:Sequential和Random。如果选择Sequential,在下面的Iterations中直接填入数值,那么Block中的Action都会按输入的次数执行。如果选择Random,下面还可以设置Block内各Action执行的百分比,如图6-20所示。
|
| (点击查看大图)图6-20 Block Properties设置 |
按照前面的案例,只需要设置3个Block,每个Block中分别插入一个Action,设置执行次数分别为3、1、2即可,设置完成后,结果如图6-21所示。
|
| (点击查看大图)图6-21 设置结束 |
整修Block(块)的设置完成,脚本将按期望的业务模型运行。
值得注意的一点就是业务迭代的总次数=该Block迭代次数×Number of Iterations,如图6-21中Block2中的Search迭代次数为2×1=2次,最终Search这个业务只迭代了2次。
转:Loadrunner——Block(块)技术的更多相关文章
- iOS之block块
Block块. 1.声明Block int (^myBlock)(int n) = ^(int num) 类型 (^名称)(需要传的参数)= ^(参数) 2 __block 变量 在block块中修改 ...
- Linux内核系列之Block块层(一)
.Block块层入口函数为 genhd_device_init(),先对该函数开始分析: 函数实现源码: static int __init genhd_device_init(void) { ...
- 关于block块使用的6点注意事项
对于刚学习OC新伙伴,block块一直都是一个比较纠结.比较难懂的知识点,不过,在使用一段时间后,就会感觉很酸爽.block块的原理及使用我就不再赘述,网上有很多这方面的资料.我个人使用这么长时间以来 ...
- 定义block块
一: 工程图 二: 代码区 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <U ...
- Objective-C中的block块语法
#import <Foundation/Foundation.h> /* OC不同于Java C++ 它没有字符串对象 只有NS对象 NS就是乔布斯第一个公司NeXt的类集合 被收购之后才 ...
- 初探swift语言的学习笔记(闭包 - 匿名函数或block块代码)
很多高级语言都支持匿名函数操作,在OC中的block也为大家所熟悉,然面在swift里好像是被重新作了一个定义,不叫匿名函数,或 block了,而叫闭包(closure).下面配合代码来理解一下swi ...
- 转:LoadRunner中参数化技术详解
LoadRunner中参数化技术详解 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提 ...
- iOS开发之使用block块进行数据遍历的方法
看了一篇文章,发现遍历数组.字典中的数据时,除了使用for循环外,还可以使用block块进行操作,瞬间感觉iOS的语言代码确实有点高大上的感觉,下面就简单的介绍一下这个方法. 首先是最基本的运用形式, ...
- 【Loadrunner】Loadrunner 手动关联技术
Loadrunner 手动关联技术 录制成功,回放失败,怀疑和动态数据有关: 1 重新录制一份脚本,两次录制的脚本进行比对,确定动态数据,复制动态数据: 2 找到第一次产生该动态数据的响应对应的相应 ...
随机推荐
- 隔一段时间应用就会挂掉(进程在,但停止响应,也无log输出),必须重启tomcat
此处是转载的 是给自己做的备注 问题:隔一段时间应用就会挂掉(进程在,但停止响应,也无log输出),必须重启tomcat 原因查找:由于tomcat自身log中并无错误产生,磁盘空间足够,读写也正常 ...
- 笨方法学python--读写文件
1 文件相关的函数 close read readline 读取文本文件中的一行 truncate 清空文件 write('adb') 写入 2 写文件,首先要在open时,写入权限w targe ...
- Javascript和HTML dom
今天在看DOM那一章的时候突然想到一个问题,众所周知的js的数据类型有两种:原始类型和对象类型.其中原始类型又包括以下几种类型:数字型.字符串型.布尔值.null和undefined.其中对象类型包括 ...
- 第四十节,requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/latest/use ...
- 美版MC 使用
备份 C:\ProgramData\TS Support\MultiCharts .NET\StudyServer\Techniques\CS pledit 无法打开 解决方法 regedit hke ...
- UIView animateWithDuration 使用详解
在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果.当然,以往的begin/commit的方法依然使用,下面详细解释一下animateWithDuration的使用方 ...
- APP页面设计
- ios 修改程序显示名称
当你创建一个project时,会要求你输入product name & company identifier,这两个property的值should和你在apple developer mem ...
- dfs.replication 参数 动态修改
首先 dfs.replication这个参数是个client参数,即node level参数.需要在每台datanode上设置.其实默认为3个副本已经够用了,设置太多也没什么用. 一个文件,上传到hd ...
- docker 基础命令
检查Docker安装是否正确docker info拉取镜像docker pull (image name)启动docker run -d -d 后台运行查看日志docker logs $sample_ ...