脚本优化-参数化之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代码实现

    假设我们已知坐标 (x0, y0) 与 (x1, y1),要得到 [x0, x1] 区间内某一位置 x 在直线上的值.根据图中所示,我们得到 由于 x 值已知,所以可以从公式得到 y 的值 已知 y  ...

  2. 机器学习入门01 - 框架处理(Framing)

    原文链接:https://developers.google.com/machine-learning/crash-course/framing (监督式)机器学习的定义:机器学习系统通过学习如何组合 ...

  3. mybatis框架(2)---mapper代理方法

    mapper代理方法 在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1) ...

  4. 如何使用Keras的Model visualization功能

    问题 安装上graphviz和pydot之后调用出现如下问题 ['dot', '-Tpng', '/tmp/tmp1KPaiV'] return code: 1 stdout, stderr: War ...

  5. Linux编程 21 shell编程(环境变量,用户变量,命令替换)

    一.概述 这篇介绍shell的变量使用,跟其实语言一样,都有声明变量,使用变量,在shell中变量允许你临时地将信息存储中shell脚本中,以便和脚本的其他命令一起使用. 1.1 环境变量 在前面章节 ...

  6. for循环输出素数探究【java】

    一.判断953是不是为素数(质数). 代码: /** 判断953是不是为素数(质数) 分析: 素数指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数. 假设953是素数,则: ...

  7. Oracle 理论到实践之碎碎念

    有关 Oracle 的著名谣传 1.如果你想把表中数据复制到另一张表,或者想根据现有表创建一个类似的新表,网上有大量不明所以的帖子告诉你实现该功能的语法是select field1,field2 in ...

  8. zabbix-proxy使用配置

    简介 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  9. go跨平台编译

    go语言支持直接编译不同系统的可执行程序,例如可以直接在mac上可以直接编译linux的执行程序 支持的环境变量 GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux, ...

  10. C# 锁系列目录

    1.lock.Monitor lock(obj){} 编译之后是如下代码 Monitor.Enter(obj); try { // } finally { Monitor.Exit(obj); } 2 ...