LoadRunner自动化测试工具的应用(讲稿)(3)

2019-03-16 19:06

2) int web_submit_data ( const char *StepName,//页面文件名 , ITEMDATA,//Item数据 ,

[ EXTRARES, ,] LAST );

这个函数以GET and POST requests发送form。 *StepName:

In the following example, the web_submit_data function submits a form using the POST method:

web_submit_data(\

\ \ \

\ \ ITEMDATA,

\

\ LAST);

这是java、JavaScript使用POST方法发送form的例子 lrapi.web.submit_data(\ \ new String[]{ //options[] \

11

\

\ \ },

new String[]{ //data[]

\ \ lrapi.web.LAST });

3. 脚本的参数化

如果用户在录制脚本过程中,填写提交了一些数据,比如创建一个新的document。这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样做会被应用禁止,会出错,这样也不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。参数化输入是一种不错的方法

参数化包含以下两项任务: ① 在脚本中用参数取代常量值。 ② 设置参数的属性以及数据源。

参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。

我举一个例子来说明,还是我么上面那个脚本, web_submit_form(\ \ ITEMDATA, \alue=performance0001\ \alue=preProductionHeaderTemplate\ \alue=1\ \alue=preProductionDetailTemplate\ LAST);

因为每次创建文档的时候,需要用不同的名字,系统禁止同名,如果同名就回出错,所以要把PTName值参数化,我们只要选中“performance0001”,然后点鼠标右键, 选择“Replace with a parameter. ”,出现以下窗口:

12

参数类型解释:

:很简单,在需要输入日期/时间的地方,可以用DateTime 类型来替代。

其属性设置也很简单,选择一种格式即可。当然也可以定制格式。

:暂时不知道何处能用到,但设置比较简单。在实际运行中,LoadRunner

使用该虚拟用户所在的Vuser Group 来代替。但是在VuGen 中运行时,Group Name 将会是None

:在实际运行中,LoadRunner 使用该虚拟用户所在Load

Generator 的机器名来代替。

:在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来

代替。

:随机数。很简单。在属性设置中可以设置产生随机数的范围

:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。

注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的 最大数为99。当使用该参数类型时,设置第一个数为1,递增的数为1,但100 个 虚拟用户同时运行时,第100 个虚拟用户输入的将是100,这样脚本运行将会出错。 注意:这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循 环之间的差值为1。举例说明:假如起始数为1,递增为5,那么第一个用户第一 次循环取值1,第二次循环取值2;第二个用户第一次循环取值为6,第二次为7; 依次类推。

:设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的ID 来代

替,该ID 是由Controller 来控制的。但是在VuGen 中运行时,Vuser ID 将会是 –1。 User Defined Function:从用户开发的dll 文件提取数据。

File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据 我们将会重点介绍这种参数类型,这也是LR的缺省参数类型,就是把准备好的数据放在文件或者用sql语句从数据库中取出来,让VU来读取。

13

14

“Select next row ”有以下几种选择:多个VU如何取值

Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取 Random:在每次循环里随机的读取一个,但是在循环中一直保持不变

Unique :每个VU取唯一的值。注意:使用该类型必须注意数据表有足够多的数。比如

Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5 个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100 个数据,否则Controller 运行过程中会返回一个错误。

Same Line As 某个参数(比如Name):和前面定义的参数Name 取同行的记录。通常用在有关联性的数据上面。这个也是很有用的,比如有时候我们要求指定VU取读取指定数据,就可以这样定义:

创建参数文件,共两列,假设userID,DOCID,userid设定取数方式是unique,DOCID则设成the same line as userid,如果第一行数据为0001,DOC1,则如果用户0001登录成功,在打开文档时,便会打开DOC1文档。

“Update value on”有如下几种选择:多次迭代如何取值

once在所有的反复中都使用同一个值, each iteration则每次反复都要取新值,

each occurrence则只要发现该参数就要重新取值,也就是如果一个action中有多个该参数,每遇到一个就要重新取一个值。

第三部分:创建运行场景

? Run-Time Setting:

15


LoadRunner自动化测试工具的应用(讲稿)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:白菜知识介绍

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: