脚本优化-参数化之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. Linux 下 pushd,popd,cd- 用法

    一,为何要使用这几个命令? 可能大家会有疑问,为何要使用这几个命令,   难道用cd不就可以切换目录了吗?   没错,使用cd就可以切换到需要访问的目录,   但是有时会是一个路径很长,层次很多的目录 ...

  2. 超详细的 Redis Cluster 官方集群搭建指南

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,rub ...

  3. Chapter 4 Invitations——8

    "So," Mike said, looking at the floor, "Jessica asked me to the spring dance." “ ...

  4. 提升 PLSQL 开发性能漫谈

    本文内容摘自<剑破冰山--Oracle开发艺术>一书,有删改. 1.触发器尽量考虑内部代码过程封装(解析次数) 2.避免动态 SQL 动态 SQL 和普通 SQL 在执行过程中最大的差别在 ...

  5. OnlineJudge难度与正确度的相关性检验

    本着做题的心态,上了东莞理工学院的 oj 网:在选择难度的时候发现有些题目通过率和难度可能存在着某些关系,于是决定爬下这些数据简单查看一下是否存在关系. 一.新建项目 我是用 Scrapy 框架爬取的 ...

  6. SHELL脚本--多命令逻辑执行顺序

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html Linux中可以使用分号“;”.双and号“&& ...

  7. MySQL中间件之ProxySQL(7):详述ProxySQL的路由规则

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.关于ProxySQL路由的简述 当ProxySQL收到前端app发 ...

  8. 解读经典《C#高级编程》第七版 Page68-79.对象和类型.Chapter3

    前言 新年好,本篇开始进入第三章,<对象和类型>,深刻理解C#的对象,对于使用好.Net类库非常重要. 01 类和结构 从使用角度看,结构和类的区别很小,比如,将结构定义转换为类,只需要将 ...

  9. LeetCode-两个结构分别遍历,然后合并

    今天做了leetcode67题,两个2进制数相加,回想了一下其实有很多这种类型的题,比如leetcode2两数相加. 在做这种题时我自己的思路就是先循环遍历一个短的,然后跳出循环,判断是哪个结束,再接 ...

  10. 响应者链UIResponder-扩大UIButton的点击范围

    在开发中,我们经常看到有按钮等的点击,会出现响应事件.按钮->view->ViewController->UIWindow->UIApplication,这就形成了一个响应链. ...