脚本优化-参数化之Parameter List参数取值

by:授客 QQ1033553122

参数取值选项

Select next row

Update value on

以上两个选项是改变参数化取值的关键选项。

Select
next row包含如下选项:

Sequential:顺序选择

Random:随机取值

Unique:唯一值

Update
value on包含以下选项:

Each
iteration:每次迭代更新。

Each
occurrence:每次取值更新

Once:只更新一次


Sequential+Each iteration
取值

这种取值是按顺序的,即按照Parameter
List中记录的先后顺序从上往下取值,当记录取完后,再重新从记录头开始取值,而Each
iteration是基于Run-timesettings->Run
Logic中的迭代次数完成记录变化操作的。

例子:

Action3()

{

lr_eval_string("{NewParam}");

return
0;

}

迭代次数1:NewParam取值

迭代次数5:NewParam取值

甲|乙|丙|丁|戊

迭代次数6:NewParam取值

甲|乙|丙|丁|戊|甲

注意:Update on value on Each
iteration时,只有开始了新的一次迭代,也就是说回放日志中出现了Starting
iteration才会触发记录变化,否则取值内容均不变化

例如:迭代次数为2

Action3()

{

for (int
i=0;i<2;i++)

{

lr_eval_string("{NewParam}");

}

return 0;

}

NewParam取值

甲甲乙乙


Sequential+Each occrrence
取值

按顺序取值,即按照Parameter
List中记录的先后顺序从上往下取值,当记录取完后,再重新从记录头开始取值,而Each
occrrence只要取了一次参数值,参数值就变化,取下一个参数值

例子:

Action3()

{

lr_eval_string("{NewParam}");

lr_eval_string("{NewParam}");

return 0;

}

如果迭代次数
1:NewParam取值

甲|乙

如果迭代次数
2:NewParam取值

甲|乙|丙|丁


 


Sequential+Once
取值

按顺序取值,即按照Parameter
List中记录的先后顺序从上往下取值,当记录取完后,再重新从记录头开始取值,而Once针对整个脚本来说,只要取了一次参数值,参数值就不再变化了

Action3()

{

lr_eval_string("{NewParam}");

return 0;

}

无管迭代多少次,或者for循环,NewParam取值都是甲


Random+Each iteration
取值

VuGen会从参数列表中随机取出一条记录,其取值的次数受到Update
value on选项的限制。

Random+Each
iteration:每当一次新的Starting
iteration开始,重新从参数列表中取一次随机值。


Random+Each occurrence

每当取一次该参数值,从参数列表中重新取一次随机值


Random+Once

当第一次取到随机内容后,再不更新记录。


Unique
取值

一种更高级的顺序取值,强调取值的唯一性,但是违反了该规则也能继续运行,VuGen提供了When
out of values选项来处理非唯一的情况【当且仅当Update
value on Each iteration,Update
value on Each occurrence, When out of values才可以用】

其中,update
value on和上面的意思一样,不再赘述

When
out of values

1)Abort
Vuser

当参加参数取值超出参数表记录的条数时,忽略用户脚本,停止运行脚本

2)Continue
in a cyclic manner

当参数取值超出参数表记录时,使用循环扫描的方式

3)Continue
with last value

当参数取值超出参数表记录时,使用参数表中的最后一个值

列子:


Action3()

{

lr_eval_string("{NewParam}");

return
0;

}

迭代6次


小技巧
:有时候,需要手工将参数的值下移一位(不管是不是Update
value on Each iteration),怎么办?使用lr_advance_param()函数来解决这个问题,

例子:前面脚本的参数{NewParam},Sequential+Each
iteration,使用脚本:

lr_eval_string(“{Newparam}”);

lr_eval_string(“{Newparam}”);

运行结果
甲|甲

lr_eval_string(“{Newparam}”);

lr_advance_param(“Newparam”);

lr_eval_string(“{Newparam}”);

运行结果
甲|乙

阅读下篇:

脚本优化-参数化之Parameter List参数同行取值

loadrunner 脚本优化-参数化之Parameter List参数取值的更多相关文章

  1. loadrunner 脚本优化-参数化之Parameter List参数同行取值

    脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...

  2. loadrunner 脚本优化-参数化方法

    脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...

  3. Loadrunner脚本优化-参数化之关联MySQL数据库获取数据

    脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1.   安装MySQL ODBC驱动程序 O ...

  4. loadrunner 脚本优化-参数化之场景中的参数化取值

    脚本优化-场景中的参数化取值 by:授客 QQ:1033553122   Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...

  5. loadrunner脚本优化-ParameterList参数类型介绍

    脚本优化-Parameter List参数类型介绍 by:授客 QQ:1033553122 篇幅问题,这里采用网盘下载的方式和大家分享: 百度网盘分享: 链接: http://pan.baidu.co ...

  6. loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取

    转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...

  7. loadrunner 脚本优化-关联设置

    脚本优化-关联设置 by:授客 QQ:1033553122 关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数 ...

  8. loadrunner脚本中参数化和返回值输出log到外部文件

    loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参 ...

  9. loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

    loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...

随机推荐

  1. Python安装模块的几种方法

    一.方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:python setup.py i ...

  2. 【zookeeper】4、利用zookeeper,借助观察模式,判断服务器的上下线

    首先什么是观察者模式,可以看看我之前的设计模式的文章 https://www.cnblogs.com/cutter-point/p/5249780.html 确定一下,要有观察者,要有被观察者,然后要 ...

  3. 译《The Part-Time Parliament》——终于读懂了Paxos协议!

    最近的考古发现表明,在Paxos小岛上,尽管兼职议会成员都有逍遥癖,但议会模式仍然起作用.他们依旧保持了一致的会议记录,尽管他们频繁的进出会议室并且他们的信使还很健忘.Paxon议会协议提供了一种新方 ...

  4. 征服诱人的Vagrant!

    一.背景 ​ 最近要开始深入学习分布式相关的东西了,那第一步就是在自己的电脑上安装虚拟机,以前在Windows平台,我选择用VMware Workstation作为虚拟机软件,现在在Mac系统下,感觉 ...

  5. 你不知道的Node.js性能优化,读了之后水平直线上升

    本文由云+社区发表 "当我第一次知道要这篇文章的时候,其实我是拒绝的,因为我觉得,你不能叫我写马上就写,我要有干货才行,写一些老生常谈的然后加上好多特技,那个 Node.js 性能啊好像 D ...

  6. 一张图读懂PBN飞越转弯衔接DF航段计算

    飞越转弯衔接TF航段时,转弯外边界与旁切转弯相似,只是在拐角位置直接以风螺旋绘制外边界,大部分切点可以精确计算得到. 飞越转弯衔接DF航段时,转弯外边界全部由风螺旋和它的切线构成,又会有哪些神奇的事情 ...

  7. SHELL脚本--简介

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 脚本都以#!/bin/bash开头,“#”称为sharp,“! ...

  8. Perl的IO操作(2):更多文件句柄模式

    open函数除了> >> <这三种最基本的文件句柄模式,还支持更丰富的操作模式,例如管道.其实bash shell支持的重定向模式,perl都支持,即使是2>&1 ...

  9. 翻译:DECLARE HANDLER语句(已提交到MariaDB官方手册)

    本文为mariadb官方手册:DECLARE HANDLER的译文. 原文:https://mariadb.com/kb/en/library/declare-handler/我提交到MariaDB官 ...

  10. MDK 中 [WEAK] 的作用

    简介 __weak 或 [weak] 具有相同的功能,用于定义变量或者函数,常见于定义函数,在 MDK 链接时优先链接定义为非 weak 的函数或变量,如果找不到则再链接 weak 函数. 在STM3 ...