LoadRunner关于Block实现不同的迭代
2015-12-22 14:51
232 查看
如何在一个脚本中实现不同事务不同次数的循环呢?案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办?录3个脚本?每个事务分别在脚本中复制N次?当然不用,LR早就想到了你的需求,下面让我们隆重推出Block。位置:Run-time Settings--General--Run Logic操作:1.将你所要考察的事务设置在不同的Action内。2.在Run Logic中的Run中删掉默认的Action。3.在Run中插入Block。4.在插入的Block中再插入我们要考察的Action。5.设置Block的properties。这里有两种选择,Sequential和Random。如果选择Sequential,在下面的Iteration中直接填入数值,那么Block中的Action都会按输入的次数执行。如果选择Random,下面的properties还可以设置Block内各Action执行的百分比。按照我们前面的案例,我们只需要设置3个Block,每个Block中分别插入一个Action,设置执行次数分别为1,2,3就可以了。
对于支持多Action的Vuser,可以把一个脚本的Action import到另外一个脚本中。当然必须保证这两个import的脚本Vuser类型是相同的。注意,被import的Action中的有关参数也一同被improt。选择被import的脚本,然后选择被import的Action。步骤如下:1、 选择“Action”>“Import Action into vuser”,会显示对话框,提示选择脚本。2、 选择要import的Action,单击确定按钮。3、 生成一个新的Action,名为Imported_Action,函数都被import在此中。 在“Run-time Settings”>“Run Logic”中调整Action的运行策略。 打开“Run-time Settings”(运行时设置)对话框,然后选择“General”下的“Run logic”节点, (1)迭代次数(Number of Iterations):迭代的次数。LoadRunner将按指定的次数重复执行所有Actions,但不会重复Vuser脚本的vuser_init和vuser_end部分。 需要注意的是,如果在Controller的计划设置中指定了方案持续时间,则持续时间设置将覆盖Vuser迭代设置。这意味着,如果将持续时间设置为5分钟(默认设置),Vuser将在5分钟内按照需要继续运行任意多次迭代,即使运行时设置仅指定一次迭代。另外:若Block里Action中的代码里有思考时间,即使在Run Time Setting里选中了“Ignore think time”也不会影响Block里Action中的思考时间;因为Block里的逻辑优先级比较高。 (2)操作块(Block):操作块是脚本内函数的组合。每个块都有自己的单独属性设置,包括顺序、迭代和权重。可以通过单击“Properties”设置Block的属性。 顺序(Sequence):可以设置块内脚本的操作顺序。有两种方式:按顺序和随机执行操作。 迭代(Iteration):除了为整个Run部分设置迭代次数以外,还可以设置单个操作或操作块的迭代。该设置非常有用,例如,可以用来模拟一个商业站点,你在该站点执行了多个查询查找某个产品,但只进行了一次采购。 提示:操作块(Block)是Vuser脚本的操作组。这是VU为用户提供的一个很贴心的功能。 比如在一个银行转账系统中,系统提供多个业务,有查询、转账、储蓄等业务,但每个业务被执行的概率可能会不一样。在这种情况下,我们可以把查询设为Block1,转账设为Blcok2,储蓄设为Block3,各个Block的Iteration属性体现了它们的概率分配,同时“登录”和“注销”操作是这三个Block所共有的。这样,执行一次脚本,就执行了所有的业务。当然,如果VU没有Block功能,我们也可以使用脚本C语言的循环机制来实现。有兴趣的朋友可以思考一下如何做。4、 运行脚本。验证Action确实按照我们在Run-time Settings中的设置运行。 提示:运行时设置(Run-time Settings)VU中有运行时设置(Run-time Settings),而Controller在运行时也同样有一个运行时设置。这两个运行时设置虽然看起来是一样的,但其实并不出自一处,而是分别存储在各自的环境下。VU的
对于支持多Action的Vuser,可以把一个脚本的Action import到另外一个脚本中。当然必须保证这两个import的脚本Vuser类型是相同的。注意,被import的Action中的有关参数也一同被improt。选择被import的脚本,然后选择被import的Action。步骤如下:1、 选择“Action”>“Import Action into vuser”,会显示对话框,提示选择脚本。2、 选择要import的Action,单击确定按钮。3、 生成一个新的Action,名为Imported_Action,函数都被import在此中。 在“Run-time Settings”>“Run Logic”中调整Action的运行策略。 打开“Run-time Settings”(运行时设置)对话框,然后选择“General”下的“Run logic”节点, (1)迭代次数(Number of Iterations):迭代的次数。LoadRunner将按指定的次数重复执行所有Actions,但不会重复Vuser脚本的vuser_init和vuser_end部分。 需要注意的是,如果在Controller的计划设置中指定了方案持续时间,则持续时间设置将覆盖Vuser迭代设置。这意味着,如果将持续时间设置为5分钟(默认设置),Vuser将在5分钟内按照需要继续运行任意多次迭代,即使运行时设置仅指定一次迭代。另外:若Block里Action中的代码里有思考时间,即使在Run Time Setting里选中了“Ignore think time”也不会影响Block里Action中的思考时间;因为Block里的逻辑优先级比较高。 (2)操作块(Block):操作块是脚本内函数的组合。每个块都有自己的单独属性设置,包括顺序、迭代和权重。可以通过单击“Properties”设置Block的属性。 顺序(Sequence):可以设置块内脚本的操作顺序。有两种方式:按顺序和随机执行操作。 迭代(Iteration):除了为整个Run部分设置迭代次数以外,还可以设置单个操作或操作块的迭代。该设置非常有用,例如,可以用来模拟一个商业站点,你在该站点执行了多个查询查找某个产品,但只进行了一次采购。 提示:操作块(Block)是Vuser脚本的操作组。这是VU为用户提供的一个很贴心的功能。 比如在一个银行转账系统中,系统提供多个业务,有查询、转账、储蓄等业务,但每个业务被执行的概率可能会不一样。在这种情况下,我们可以把查询设为Block1,转账设为Blcok2,储蓄设为Block3,各个Block的Iteration属性体现了它们的概率分配,同时“登录”和“注销”操作是这三个Block所共有的。这样,执行一次脚本,就执行了所有的业务。当然,如果VU没有Block功能,我们也可以使用脚本C语言的循环机制来实现。有兴趣的朋友可以思考一下如何做。4、 运行脚本。验证Action确实按照我们在Run-time Settings中的设置运行。 提示:运行时设置(Run-time Settings)VU中有运行时设置(Run-time Settings),而Controller在运行时也同样有一个运行时设置。这两个运行时设置虽然看起来是一样的,但其实并不出自一处,而是分别存储在各自的环境下。VU的
相关文章推荐
- Android 当overridePendingTransition遇见了Fragment
- UILable常用设置
- android-activity之默认启动模式和FLAG_ACTIVITY_NEW_TASK
- decode()和nvl()函数
- 存储过程中的when others then 和 raise
- ASP.NET: Setup a MVC5 website with MySQL, Entity Framework 6 Code-First and VS2013
- iOS-----XML解析
- mysql动态sql,存储过程动态tablename,存储过程参数为表名
- 快速搭建一个成熟,强壮的App框架
- 包压缩能解决手游行业什么问题?
- 链表建立问题
- Android Hotpatch系列之-给release包打Patch
- 用十条命令在一分钟内检查Linux服务器性能[转]
- 从头到尾写SQL(四)
- Ubuntu 12.04 alternate 64位 执行文件,显示:bash: ***: No such file or directory
- JAVA源码阅读--String
- android-activity之启动模式singleInstance
- Oracle的DBMS_OUTPUT.PUT_LINE用法及脚本批处理方法
- C#中反射泛型 CreateInstance
- AFNetwork swift版Alamofire使用问题集锦