LoadRunner参数化Word格式.docx
- 文档编号:18320561
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:19
- 大小:669.16KB
LoadRunner参数化Word格式.docx
《LoadRunner参数化Word格式.docx》由会员分享,可在线阅读,更多相关《LoadRunner参数化Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
"
Snapshot=t3.inf"
ITEMDATA,
Name=UserName"
"
Value=chongshi"
ENDITEM,
Name=Password"
Value=123456"
Name=VerifyCode"
Value="
Name=auto"
Value=<
OFF>
"
EXTRARES,
......
下面看一下如何通过loadrunner对用户名密码参数化。
标红的内容就是登陆的用户名和密码。
参数化的方法选中要参数化的内容。
方法一,右键---【Replace
with
a
new
parameter】
方法二,菜单【insert】----【new
Parameter…】
Parameter
Properties
(参数属性对话框)----我们的参数化设置就通过这个对话框完成。
参数化的方式:
其实参数化得方式有很多种,这里简述几种比较常见人方式。
其实方式略有不同,但其结果都是将数据添加进来。
1、
编辑数据
点击Create
Table
会出现表格,在表格,再次点击Edit
Notepad
,然后会打开一个记事本,我们可以对记事本进行添加数据
2、
添加dat数据文件
点击File输入框后面的“Browse..”按钮,找到本地的txt数据文件,进行添加就可以了。
需要注意的是,文件里面的数据不要乱写,每条数据一行,不然会读取有误。
3、
数据库添加数据
在很多情况下,我添加的数据不是十条二十条,也不是一百两百,如果还通过上面的两种方式添加,我想会是一件非常纠结的事情。
所以我们可以通过数据库将数据导入。
你是否疑虑数据库的数据怎么弄,数据库的数据生成非常简单,可以写一段简单的代码生成,也可以通过数据库数据生成工具来完成
点击Date
Wizard
打开连接数据库向导。
这里先告诉你有这种方式,后面再介绍具体操作。
^_^
4、
其他类型设置
如果我们要参数化的不是一个文件,比如是特定的日期时间,可以从Parameter
type
列表中进行选择
这里可以设置日期时间格式,循环迭代方式,不过除了file类型外,其他用的不多。
其他类型用法我也不是十分了解。
参数化之间的关联
前面我们已经对用户名进行了参数化,或对密码进行了参数化,这样是不是脚本就能正常跑了,不好说。
因为用户名和密码不是一一对应关系,每次运行脚本时取的用户名和密码没有对应上的话肯定就会出问题。
假设,我们已经对用户名已经进行了参数化,参数名为【username】,下面设置密码参数化与用户名关联。
点击“Properites…”会打开编辑用户名参数化窗口。
File列表框中,刚才保存用户名信息的文件"
username.dat"
。
点击“Add
Column…”,添加新的一列信息,用于放置密码。
点击“Edit
Notepad”再次编辑参数化数据文件,使用户名密码建立一一对应关系。
完成之后,我们已经成功对用户名和密码进行了参数化,并且让用户名和密码形成了对应关系。
数据分配与更新方式
脚本设置完参数化,脚本运行的每一遍所取的参数化的值都不一样,那么这个值按照个什么情况来取呢?
会有很多种方式
Select
next
row【选择下一行】:
顺序(Sequential):
按照参数化的数据顺序,一个一个的来取。
随机(Random):
参数化中的数据,每次随机的从中抽取数据。
唯一(Unique):
为每个虚拟用户分配一条唯一的数据
Update
value
on【更新时的值】:
每次迭代(Each
iteration)
:
每次迭代时取新的值,假如50个用户都取第一条数据,称为一次迭代;
完了50个用户都取第二条数据,后面以此类推。
每次出现(Each
occurrence):
每次参数时取新的值,这里强调前后两次取值不能相同。
只取一次(once)
参数化中的数据,一条数据只能被抽取一次。
(如果数据轮次完,脚本还在运行将会报错)
上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。
注:
参数化设置的迭代方式只在Controller中设置为“运行直到完成”时有效,如果设置了持续时间,则迭代次数不起作用
Next
Row
【选择下一行】
Value
On
【更新时的值】
Replay
Result
【结果】
顺序(Sequential)
iteration)
结果:
分别将15条数据写入数据表中
功能说明:
每迭代一次取一行值,从第一行开始取。
当所有的值取完后,再从第一行开始取
如:
如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条
occurrence)
只取一次(once)
表中写入15条一模一样的数据。
每次迭代都取参数化文件中第一行的数据。
随机(Random)
表中写入15条数据,但可能有重复数据出现
每次从参数化文件中随机选择一行数据进行赋值
表中写入15条相同数据
第一次迭代时随机从参数化文件中取一行数据,后面每次迭代都用第一次迭代的数据。
唯一(Unique)
自动分配块大小
第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。
如果设置迭代次数为16次。
在执行第16次迭代时会抛异常,异常日志可在LoadRunner的回放日志(replayLog)中看到。
步长为1
如果设置迭代次数为16次,而参数化文件中只有15条数据,明显数据不够。
此时可以设置“when
out
of
values”属性来判断当数据不够时的处理方式
Abort
Vuser:
中断虚拟用户
Countinue
in
cylic
manage:
循环取参数化文件中的值,即:
当参数化文件中的值取完后又从参数化文件的第一行开始取值。
last
value:
继续用最后一条数据
每次都取参数文件中的第一条数据进行赋值
Ps:
关于调用数据库实现参数化的方式,放在后一篇细说。
被一个蛋疼的问题和这篇文章折腾一天。
1.
(1)迭代一次,单用户执行:
(2)迭代一次,10用户并发(同时执行):
(有报错)
(3)迭代一次,10用户逐个登录,每次一个,无并发:
(此处不能理解)
由于设置了持续时间,而出现了上述问题,当设置运行直到完成后,则是只添加了10个1
(4)迭代一次,30个用户,每次登录3个:
(5)迭代3次,10个用户,每次登录一个:
2.
LoadRunner参数化取值与连接数据库
LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值。
一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑当然就不切实际了,还好有连接数据库的功能,所以就方便了很多。
不过提供连接数据库的功能到不是为了方便去取数据,而更重要的应该是借用数据库的造数据功能,通过简单的sql语句,便可以完成大量可复用的数据,这就是数据库的强大之处。
在脚本中设置参数化之后,进入参数化属性就可以发现一个标签按钮DataWizard,这里就是连接数据库的接口。
不过连接数据库可不能直接进行连接,需要通过windows系统提供的ODBC进行桥接,这里以sqlserver2005为例。
通过系统的控制面板找到管理工具,然后再找到数据源(ODBC)点击进入,选择系统DNS标签下,添加数据源并选择sqlserver,如图所示:
当然,配置完成之后,需要执行简单的配置测试,测试成功后,表示ODBC桥接成功。
接下来便可以创建数据库和表了,这里在sqlserver2005下创建表Table_a,只有一个字段名为a,通过如下sql脚本插入100条记录到表中:
declare@aint;
set@a=1;
while@a<
=100
begin
insertintodbo.Table_avalues('
test'
);
set@a=@a+1;
end
执行以上脚本之后,表就插入了100条同样的记录“test”,此时表中的数据已经准备ok了。
回到LoadRunnerVuser中,创建一个简单的参数化脚本如下:
Action()
{
lr_eval_string("
{testParam}"
return0;
}
右键参数进行参数属性对话框,点击DataWizard进入连接数据库配置,选择“SpectifySQLstatementmanu”制定sql连接,然后选择下一步,再点击Create进入数据源选择方式,选择LoadRunner命名的数据源,如下图所示:
在下面的SQL空白处,输入对应的sql语句,完成合适的数据导入,完成后,数据被导入到参数化列表中,如下图所示:
做性能测试,最重要的准备工作就是数据,特别是对数据库的灵活运用,将会大大提高性能测试的效率。
分类:
性能测试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 参数