参数取值选项

Select next row

Update value on

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

Select next row包含如下选项:

Sequential:顺序选择

Random:随机取值

Unique:唯一值

Update value on包含以下选项:

Each iteration:每次迭代更新。

Each occurrence:每次取值更新

Once:只更新一次

1  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取值 甲甲乙乙

2  Sequential+Each occrrence取值

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

例子:

Action3()

{

lr_eval_string("{NewParam}");

lr_eval_string("{NewParam}");

return 0;

}

如果迭代次数 1:NewParam取值 甲|乙

如果迭代次数 2:NewParam取值 甲|乙|丙|丁

 

3  Sequential+Once取值

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

Action3()

{

lr_eval_string("{NewParam}");

return 0;

}

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

4  Random+Each iteration取值

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

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

5  Random+Each occurrence

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

6  Random+Once

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

7  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}”);

运行结果 甲|乙

Loadrunder之脚本篇——参数化取值策略的更多相关文章

  1. Loadrunder之脚本篇——参数化同行取值

    select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时才会出现,其作用是根据某一个参数的行号取同一行. 例中的做法如下: 将多个参数存放在一个参数文件中: ...

  2. Loadrunder之脚本篇——参数化在场景中的运用

    Action() { lr_eval_string("{NewParam}"); lr_eval_string("{NewParam}"); return 0; ...

  3. Loadrunder之脚本篇——参数化方法

    导语 参数化旨在模拟多数据来进行测试,所以再选择参数化你明确你参数化的内容! 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Pa ...

  4. 参数化取值策略Unique

    Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...

  5. 参数化取值策略Sequential

    1.Sequential+Each iteration(顺序方式+每次迭代更新取值),设置Run—Logic中action循环迭代11次,并运行以上脚本,结果如下:     2.Sequential+ ...

  6. 参数化取值策略Random

    1.Random+Each iteration,跟顺序读取的结果唯一不同的就是这里是随机读取,取值是每次迭代取值   2.Random+Each occurrence,随机取值更新方式     3.R ...

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

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

  8. Loadrunner中参数化取值方式分析

    Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”.    select next row:Sequential , Random,unique 2.更新值时分为 ...

  9. lr参数化取值与连接数据库

    TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束, ...

随机推荐

  1. spring 第一篇(1-2):管理你的beans

    在基于spring的应用中,你的应用对象存活在spring container(容器中).容器创建,将它们装配到一起.还有配置和管理它们完整的生命周期(从生到死) 下一章节,你会看到如何配置Sprin ...

  2. error: not found: value sc

    [问题] 解压spark的tar包后,执行bin/spark-shell,执行val lines=sc.textFile("README.md")时,抛错error: not fo ...

  3. Spring MVC属性方法名称解析器

    以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的属性方法名称解析器. MultiActionController类可在单个控制器中分别映射多个URL到对应的方法. 所下所示配置 ...

  4. POJ 1426 Find The Multiple &amp;&amp; 51nod 1109 01组成的N的倍数 (BFS + 同余模定理)

    Find The Multiple Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21436   Accepted: 877 ...

  5. _DataStructure_C_Impl:SeqListBasedSort

    // _DataStructure_C_Impl:Sort #include<stdio.h> #include<stdlib.h> #define MaxSize 50 ty ...

  6. 26计算限制的异步操作02-CLR

    由CLR via C#(第三版) ,摘抄记录... 6 Parallel的静态For,ForEach和Invoke方法 在一些常见的编程情形中,使用任务也许会提升性能.为了简化编程,静态类System ...

  7. 转载:Network In Network学习笔记

    转载原文1:http://blog.csdn.net/hjimce/article/details/50458190 转载原文2:http://blog.csdn.net/mounty_fsc/art ...

  8. Linux之(node.js)服务

    1.1下载源码 你需要在下载最新的Nodejs版本, https://nodejs.org/en/download/ http://nodejs.org/dist/ 现在以node-v7.7.1.ta ...

  9. Oracle SQL*Loader 数据导入工具

    SQL*Loader是一个向Orale大量倒数据的工具,可以从界定文件中导入数据如用 , 界定的,可以从定宽的文件导入数据,

  10. IOS 多线程的一些总结

    IOS 多线程 有三种主要方法 (1)NSThread (2)NSOperation (3)**   下面简单介绍这三个方法 1.NSThread 调用方法如下:         如函数需要输入参数, ...