loadrunner之 学习五:参数化
来源:互联网 发布:unity 特效贴图优化 编辑:程序博客网 时间:2024/04/30 14:53
学习五:参数化
参数化分为几块内容逐渐学习:
1.简单实现
在脚本中选中要参数化的内容,‘右键菜单’—‘Replace with a new parameter’,可以选择或新建一个parameter,我们填写一个parameter name,然后点击‘Properties…’按钮,打开‘Parameter Properties’对话框。
我的数据文件是excel,我新建了一个dat文件,把excel里相应的数据复制到dat里,然后在‘Parameter Properties’中type为‘File’,并在‘File’中选中我新建的dat文件,会自动把dat文件中的内容加载到下面的表格里。
在‘select column’里,可以通过列的id或者name来选中该参数对应的列。
同样的方法,把username和password都参数化,在password的‘select next row’里选择‘same line as username’,这样就不用都修改两个参数的设置了。当然这样只适用于这种一对一关联特别强的
保存之后运行,发现能够从dat文件中读取数据了,简单的参数化成功。
2.Action迭代次数
在参数化成功之后发现,Action只是运行了一次,而我想让Action迭代多次。方法如下:
打开‘Vuser’—‘Run-time Settings’—‘Run Logic’,将‘Number of Iterations’设置成想要迭代的次数,保存后再次运行,成功迭代多次。
3.深入1:不同的参数化方式
LR参数化方式不仅仅有File一种,在‘Parameter Properties’—‘Parameter type’中可以选择多种参数化方式,比如‘Custom’可以用自己定义的变量、‘Date/Time’可以选择指定的日期时间格式、‘Random Number’可以是范围内的随机数字,其他的不太常用,暂时不进行深入的研究。
还有一种是通过数据库添加数据的方法,通过‘Parameter Properties’中‘Data Wizard…’按钮,可以打开数据库配置的向导,也是非常简单。
4.深入2:数据分配和更新方式
参数化完成之后,脚本没一遍运行所取的值都不一样,具体的取值方式就是通过‘select next row’和‘update value on’来设置。
select next row:
- sequential(顺序):按照参数化的数据顺序,一个一个的来取
- random(随机):参数化中的数据,每次随机的从中抽取数据
- unique(唯一):为每个虚拟用户分配一条唯一的数据
- same line as xxx(与参数xxx取同一行):这个选项是在同一个数据文件中有多列参数的时候才会出现,选择之后此参数会取相应参数的同一行值
update value on:
each iteration(每次迭代):每次迭代更新取值
each occurrence(每次出现):每次取值更新
once(只取一次):只更新一次
每次迭代和每次出现不同,因为一次迭代中一个参数可能出现多次。
因为选择列方式中的最后一种same line as xxx使用时,下面的update value on会被禁用,所以一般我们会有3x3+1共10中组合方式:
- sequential + each iteration : 顺序方式 + 每次迭代更新取值,设置迭代n次,每次迭代使用同一行数据,数据按照顺序读取。一次迭代中即使出现多次这个参数,都是使用同一行数据,迭代次数>数据行数时,数据行取完之后重新从第一行取
- sequential + each occurrence : 顺序方式 + 每次取值更新,设置迭代n次,每次出现使用同一行数据,一次迭代中可能出现多次,每次取值不同,按顺序读取。
- sequential + once : 顺序方式 + 只取一次,这种方式的结果是不论迭代多少次,不论出现多少次,都只是读取第一行的数据
- random + each iteration : 跟顺序读取的结果唯一不同的就是这里是随机读取,取值是每次迭代取值
- random + each occurrence : 每次出现更新参数值,随机取值
- random + once : 随机取一行数据,然后便一直读取这一行
- unique + each iteration : 每个值只取一次,强调取值的唯一性,当取值超出数据行数时,LR在提供了三种处理方式,将在下面说明
- unique + each occurrence : 每次出现更新参数值,每个值只取一次
- unique + once : 跟sequential + once一样,只取第一行值,之后每次出现这个参数都用这个值,不再改变
- same line as xxx : 上面已经说过,跟随另一个参数的取值,另一个参数取哪一行,这个参数就取哪一行
sequential和random方式都不会有数据取尽的情况,而当select next row设置为unique的时候,每行值只允许读取一次,这时如果该参数的读取次数>数据行数时,便会出现异常,这时LR提供了三种处理方式:
- abort vuser:当取值次数超过参数的行数时,停止脚本运行
- continue in a cyclic maner:取值超过时,启用循环扫描,扫描哪些还未被使用的数据进行使用
- continue with last value:重复读取最后一行数据
我们可以使用simulate parameter(参数模拟)功能来模拟不同情况下的参数读取情况
参考资源
LoadRunner参数化详解
深入解析LoadRunner下的参数化取值
- loadrunner之 学习五:参数化
- LoadRunner VuGen脚本增强之参数化
- LoadRunner参数化
- loadrunner参数化总结
- LoadRunner脚本参数化
- loadrunner参数化总结
- LoadRunner参数化详解
- loadrunner参数化
- LoadRunner参数化详解
- LoadRunner参数化详解
- LoadRunner参数化详解
- LoadRunner参数化详解
- LoadRunner参数化详解
- Loadrunner 参数化
- LOADRUNNER的参数化
- LoadRunner参数化详解
- LoadRunner参数化详解
- LoadRunner参数化详解
- 网络服务器搭建的那些事(PV QPS Throughput)
- 我自己对英语学习的心得与体会
- loadrunner之 学习四:web_custom_request()函数
- 关于achartengine的使用一些小经验 -
- javascript dom特效滑动门
- loadrunner之 学习五:参数化
- 二叉树的前序遍历(非递归)
- 《C++ 笔记》 Part4 error C4996"fopen"的错误处理
- 手写stack
- 超级容易理解!!!Java的面向对象思想———类与对象。
- 主程序运行完了,但是不想他退出,有子线程要继续运行
- 浏览器可以上网,但是有米网却打不开?
- 剑指offer(四十一)之翻转单词顺序列
- lintcode ----寻找缺失的数