lr参数化取值与连接数据库
TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的。
特别提醒:
1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据。
2.数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用。
3.一般我们用到的很多的都是使用数据文件来保存我们的参数。一般来说LR对于参数的个数是没有限制的,但是在那个Parameter List中显示的就只能显示100个。so当你看到显示在列表中的参数个数少于你的文件中保存的个数,不用紧张。
一.介绍LR参数化数据源Orac le,MSSQL,Excel
1. 数据来源Oracle向导,选择“Data Wizard”创建,如图:











2. 数据来源MSSQL向导
与Oracle不同的是:

3. 数据来源Excel向导
与Oracle不同的地方:选择Excel Files


输入查询语句:

注意:经常会出现以下错误:

解决办法:重新再创建一次就可以了。
二、介绍两种参数化的区别
一种会初始化数据,另一种不会初始化数据
具体如图:

1.右键选择“Replace with a Parameter”这种,会默认初始化数据。

2.点击工具栏中的parameter list,不会初始化数据。
三. 参数化取值
select next row指明了以何种方式从数据池中获取数据
选项:
Sequential 表示按照顺序取值
Random表示从数据池中随机取值
Unique.表示每次取唯一值
Update value on 指明了参数值在何时发生变化。
选项:
Each iteration表示在每次跌代时更新参数的值。如果在一个迭代过程中某参数出现了多次,参数取相同的值
Each occurrence表示在参数每次出现时更新参数的值。如果在一个迭代过程中某参数出现了多次,每次取不同的值。
Once表示VU在执行时,只在第一次跌代时为参数取一次值,以后每次跌代使用相同的值。
根据select next row和Update value on的不同设置组合,VU运行过程中为参数取不同的值,下面举例说明:
假设在某个类型为File的参数Username设置如下表1所示的数据池,该参数所在的脚本中包含该参数的部分要求迭代2次,执行脚本的VU数量为2个,脚本需要迭代的部分有两个地方使用了参数Username,则在不同设置时的参数取值如表2:
表1 参数Username的数据池数据
|
Username |
|
Alice |
|
Bob |
|
Chris |
|
David |
|
Frank |
|
Green |
|
Jack |
|
Smith |
表2 不同设置时参数取值示例
|
Select next row 取值 |
Update value on取值 |
参数取值示例 |
|
Sequential |
Each iteration |
每个VU中的参数都按照同样的方式取值,第一次迭代中参数Username两次出现都取Alice,第二次迭代中参数Username两次出现都取Bob |
|
Each occurrence |
每个VU中的参数都按照同样的方式取值,第一次迭代中参数首次出现取Alice,第二次出现取Bob;第二次迭代中参数首次出现取C hris,第二次出现取David |
|
|
Once |
每个VU中的参数都按照同样的方式取值,参数在每次迭代的每次出现均取同样的值Alice |
|
|
Random |
Each iteration |
每个VU中的参数都同样的方式取值,第一次迭代中参数两次出现都取相同的值,其值从数据池中随机选择一个;第二次迭代中参数两次出现都取相同的值,其值从数据池中随机选择一个 |
|
Each occurrence |
每个VU中的参数都同样的方式取值,第一次迭代中参数首次出现取数据池中的一个随机值,第二次再随机取一个值,第二次迭代中参数首次出现随机从数据池中取一个值;第二次出现再随机取一个值 |
|
|
Once |
每个VU中的参数都按照同样的方式取值,参数在每次迭代的每次出现均取同样的值,该值从数据池中随机选取 |
|
|
Unique |
Each iteration |
两个VU按照不同的方式取值:对于第一个VU,第一次迭代中的参数两次出现均取相同的值Alice,第二次迭代中的参数两次均取Bob;对第二个VU,第一次迭代中的参数两次出现均取相同值Chris,第二次迭代中的参数两次均取David |
|
Each occurrence |
两个VU按照不同的方式取值:对于第一个VU,第一次迭代中的参数第一次出现时取值Alice,第二次出现时取值Bob,第二次迭代中的参数首次出现时取Chris,第二次出现时取David;对于第二个VU,第一次迭代中的参数第一次出现时取值Frank,第二次出现时取值Green,第二次迭代中的参数首次出现时取Jack,第二次时取值Smith. |
|
|
Once |
两个VU按照不同的方式取值:对于第一个VU,两次迭代中的参数每次出现均取相同的值Alice;对于第二个VU,两次迭代中的参数每次出现取相同的值Bob |
Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案.
When out of values选项只有在select next row设置为Unqiue时才有效,当数据池中的数据量不能支持迭代和Unique要求的数据量时,可以通过设置该选项的值指示LR的处理方法。
Abort VUser,则遇到这种情况时,VU停止运行;
Continue in a cyclic manner,取值超过时,启用循环扫描,扫描那些还未被使用的数据进行使用;
Continue with last value,所有不足的取值都用最后一个取值来代替。
关于参数化取值,若有不明白,可以参照http://blog.csdn.net/candle806/article/details/6614486
四.参数化常见错误
错误代码:Error:missing newline in d:\loadrunner\username.dat
错误原因:场景设置不合理,参数数量不够,或者参数化文件有问题。
1)如果参数化文件反复修改,而在场景设置时没有更新脚本,可能会导致参数化文件修改未生效的情况,建议当参数不是很多时,不要打开记事本去编辑参数,直接在LR提供的参数的表格中进行编辑即可。如果参数很多,需要直接打开记事本编辑参数,可以在controller中重新选择一次脚本。
2)在记事本中编辑参数时,需要在最后一个参数后打回车,让鼠标的光标移动到下一行
lr参数化取值与连接数据库的更多相关文章
- LoadRunner参数化取值与连接数据库
LoadRunner参数化取值与连接数据库 LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接 ...
- LR参数化取值规则总结
我想使用参数化输入设置10个并发用户循环1000次,第一个用户使用参数列表中的前1000个参数(第依次循环使用第一个参数.第二次循环使用第二个参数,依次类推).第二个用户使用参数列表中的2001-30 ...
- LoadRunner参数化取值及连接数据库操作步骤
很多情况下,参数添加的数据不是十条二十条,也不是一百两百,对于这种大数量的数据我们可以通过数据库将数据导入: 选中要参数化的内容如下图一所示: 方法一,右键---[Replace with a new ...
- Jmeter VS LR参数取值方式和迭代方式
Jmeter的参数化 Jmeter中的参数就是变量. 变量的来源:测试计划.UDV.CSV.函数.正则表达式.数据库. 以Jmeter的CSV文件参数化为例:
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- Loadrunner中参数化取值方式分析
Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”. select next row:Sequential , Random,unique 2.更新值时分为 ...
- Loadrunder之脚本篇——参数化取值策略
参数取值选项 Select next row Update value on 以上两个选项是改变参数化取值的关键选项. Select next row包含如下选项: Sequential:顺序选择 R ...
- LoadRunner进行参数化的九种方式取值和连接数据库取值
一.连接mysql数据库取值 1.首先安装odbc驱动 链接: https://pan.baidu.com/s/1WAYd4ygQqIrbB08S01hSkg 提取码: gdfs 2.操作步骤如下图: ...
- 参数化取值策略Unique
Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...
随机推荐
- spring IoC容器的实现。
控制反转是spring的重要概念.而实现控制反转的IoC容器具体又是如何实现呢. IoC容器的目的是能够管理系统中各个对象之间的关系和依赖,为了实现这个功能,spring框架对Bean做了进一步抽象 ...
- UITableViewCell在非Nib及Cell重用下设置CellStyle
在UITableViewController(实现了UITableViewDataSource)下需要实现 - (UITableViewCell *)tableView:(UITableView *) ...
- Spring boot学习总结
引言之前也没有深入学习过spring框架,最近SpringBoot流行起来后想补下这方面的知识,于是照着SpringBoot官网上的英文教程开始helloworld入门,踩到几个小坑,记录下学习流程. ...
- uploadify IE11 不兼容问题(不显示图片)
1.进入uploadify官网demo : http://www.uploadify.com/demos/ 2. 显示 (确认flash为最新版本) 3.更换其它浏览器一切正常 4.原因:I ...
- typdef用法总结
typdef是在计算机编程语言中用来为复杂的声明定义简单的别名用的 typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,在网上找了很多资料,结合自己遇到的各 ...
- openwrt的sysupgrade和factory固件的区别
openwrt的固件一般分两种类型:factory原厂固件.sysupgrade固件 factory多了一些验证的东西,用于在原厂固件的基础上进行升级. 普通家用路由一般不是openwrt固件,如果要 ...
- 深入浅出JavaScript之跨域总结
什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window.name实现的跨域数据传输 5.使用H ...
- Dynamic Rankings(动态第k大+树套树)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1112 题目: 思路: 树套树板子题. 代码实现如下: #inclu ...
- Java编程思想 4th 第3章 操作符
有了数据,还需要进行数据间的运算,因此Java中也有数据间运算的各种符号,书本称之为操作符,正确的翻译应该是运算符. Java中的运算符同C++相同,运算符同运算符对象构成表达式,表达式是运算对象及运 ...
- nginx_upstream_check_module-master对nginx的后端机器进行健康状态检查报403错误【转】
在nginx.conf配置文件中 在server添加 location /nstatus { check_status; access_log off; #allow 192.168.2.11; #d ...