LoadRunner学习草稿

一、录制自带的例子,网址:http://127.0.0.1:1080/WebTours/:

1.要打开例子中的服务,否则录制失败

2.已经打开服务,如果再次打开,会提示错误

3.每次录制时,关闭原来的页面,否则会导致录制错乱。

 PS:清除缓存,保证测试的正确性。步骤:Vuser->Run-Time Settings->Browser->Browser Emulation ->clear cache on each iteration

函数:web_cache_clearup()


衍生:

Browser  Emulation:
Simulate  browser  cache:配置Vuser模拟带缓存的浏览器。缺省缓存是被允许的,
可以通过禁止该选项来使得所有VUser模拟的浏览器都不带缓存。

Cache  URLs  requiring  content(HTMLs):设置浏览器缓存URL的上下文(比如,HTML语法,认证或校验等),
其他的URL的上下文不会被缓存,以减少内存使用。可以通过点击Advance来定义需要上下文的URLs。

Check  for  newer  versions  of  stored  pages  every  visit  to  the  page:通过在header中添加
If-Modified-Sinces属性来设置浏览器检查比当前存储在缓存中特定URL更新的资源。缺省情况下,
浏览器不会自动检测更新的资源。

Download  non-HTML  resources:设置Vusers在刷新网页时下载图片。当真实用户访问网页时,
需要等待图片的加载完成。如果用户想要测试整个系统,包括终端用户时间,则需要勾上该选项。
如果需要提高性能且不需要模拟真实的用户,则不要选该项。

Simulate  a  new  user  on  each  iteraton:设置VuGen在每个循环的init会话结束,重启全部HTTP上下文。
这样使得Vuse更加真实的模拟一个新user开始一个浏览会话。该选项缺省是被选中的。

Clear  cache  on  each  iteration:当每个循环模拟一个最新访问站点的user时,
则要选中该选项。当每一个循环模拟一个最近访问过站点的user,浏览器仍为该用户保留网页
(从前面的循环中使用缓存页面)的情况则不要选中该选项。


二、脚本对比

1.先保存需要对比的脚本

2.步骤:Tools->Compare with script;黄色高亮显示的是不同之处

PS:html_based 和URL_based对比:

1)html_based比URL_based简单,浏览器版,一般用html_based.除了脚本中包含JavaScript和加密文件用URL_based

2)录制成功的web_url中Mode字段,html_based 为HTML ,URL_based为HTTP.


三、调试脚本??????????

1)静态运行脚本 

2)动态运行脚本:view->Animated设置下,能高亮看到当前运行到哪个脚本,

3)页面显示脚本:Tool->Geaneral Options->Display

4)回访结果:Tool->Geaneral Options->Realpy->After Replay->Visual test result


四、验证参数化是否成功

通过日志来判断;PS:此处不适合用检查点,检查点检查的是服务器返回的数据中其中的值。

步骤:Vuser->Run-Time Settings->General/Log/Extended log/Parameter substitution

通过日志能看出来:

注:记事本中编辑完数据,切记需敲回车,将光标停留在下一行

文件里面的数据不要乱写,每条数据一行,不然会读取有误


注意: LoadRunner允许最大参数化用户数为100人,如需扩大参数量,可在安装路径下vugen.ini文件中修改:MaxVisibleLines=1000。(此为设置允许最大参数化用户数为1000人)

 1.内部数据参数类型

  • DateTime:在需要输入日期/时间的地方,用DateTime类型来替代。其属性设置很简单,选择一种格式即可。也可以定制格式。
  • Group Name:Vuser 组名称。如果没有 Vuser 组(例如,从 VuGen 运行脚本时),
    则该值始终为无。
  • Load Generator Name:在实际运行中,LoadRunner使用该虚拟用户所在Load Generator的机器名来代替。
  • Iteration Number:在实际运行中,LoadRunner使用该 测试脚本当前循环的次数来代替。
  • Random Number:随机数。在属性设置中可以产生随机数的范围。
Unique Number:唯一编号,为每个 Vuser 分配一组要使用的编号。指定起始值和块大小(为每
个 Vuser 保留的唯一编号总数)。例如,如果您指定起始值为 1 且块大小为
100,则第一个 Vuser 可以使用编号 1 到 100,第二个 Vuser 可以使用编号 201
到 300,以此类推。
  • Vuser ID:场景运行期间由 Controller 分配给 Vuser 的 ID 编号。从 VuGen 运行
脚本时, Vuser ID 始终为 -1。(这不是 Vuser 窗口中显示的 ID 号,而是运行时生成的唯一 ID 编号。

2.文件参数类型
  • File:将参数保存在文件中。可以是本地的也可以是全局的。数据文件中的数据以表的格式存储。一个文件可以包含许多参数的值。每列保存用于一个参数的数据。分列符由分隔符标记,如逗号。使用 VuGen 新建文件或导入数据库文件。每个参数填充一个单元格值。
3.表参数类型
  • Table:专用于通过填充表单元格值进行测试的应用程序。使用多行和多列作为参数值,类似于值数组。使用表类型时,可以用一个命令填充整个表。这在 SAPGUI Vuser 中很常见,其中 sapgui_table_fill_data 函数填充表单元格。
4.XML 参数类型
  • XML:用作 XML 结构中包含的多值数据的占位符。可以使用 XML 类型的参数将整个结构替换为单个参数。
5. 用户定义的函数参数
  • 使用外部 DLL 函数生成的数据。用户定义的函数将参数替换为外部 DLL 函数返回的值。将用户定义的函数作为参数分配之前,应创建带有函数的外部库 (DLL)。
(注意:此处若选择“机器数据源”,则应该将生成的Connection string中的“MODE=SHARE”删除。否则会报“Data Retriever failed to execute query.”错误,参数化失败。因为机器数据源是本机专用,不能共享。)



三、关联

1.关联操作的条件

客户端需要从服务端返回的数据中获取部分数据,并将这部分数据处理后作为自己下一次请求的一部分发出。

那么什么地方需要关联呢?
凡是脚本每次执行时都必须获得唯一标识的地方都需要关联。假如脚本需要关联,如果不做关联是不会执行通过的,也就是说会有错误消息发生。不过很遗憾,并没有任何特定的错误消息和关联是有关系的。会出现什么错误消息,与系统实际的错误处理机制有关。错误消息有可能会提醒用户要重新登录,但是也可能直接就显示HTTP 404的错误消息。 

 

2.如何找出要关联的数据呢

简单地说,每一次执行时都会变动的值,就有可能需要做关联。

如:序列号和随机数一般需要关联。

 常见的需要关联的情景:

1.登录操作

2.先查后修改,先查后删除

3.并发控制:防止两个用户同时修改或同时删除一条记录

 

3.一般关联操作的步骤

  1. 从服务端返回的数据中选取需要进行关联的操作。
  2. 将该数据存入脚本的一个参数中。
  3. 将脚本中需要使用该数据的地方用参数来替代。

注:对于WEB应用来说,一般会用一个hidden的Field存放。

Loadrunner--关联

 

一.关联操作的条件

客户端需要从服务端返回的数据中获取部分数据,并将这部分数据处理后作为自己下一次请求的一部分发出。

那么什么地方需要关联呢?
凡是脚本每次执行时都必须获得唯一标识的地方都需要关联。假如脚本需要关联,如果不做关联是不会执行通过的,也就是说会有错误消息发生。不过很遗憾,并没有任何特定的错误消息和关联是有关系的。会出现什么错误消息,与系统实际的错误处理机制有关。错误消息有可能会提醒用户要重新登录,但是也可能直接就显示HTTP 404的错误消息。 

 

二.如何找出要关联的数据呢

简单地说,每一次执行时都会变动的值,就有可能需要做关联。

如:序列号和随机数一般需要关联。

 常见的需要关联的情景:

1.登录操作

2.先查后修改,先查后删除

3.并发控制:防止两个用户同时修改或同时删除一条记录

 

三.一般关联操作的步骤

  1. 从服务端返回的数据中选取需要进行关联的操作。
  2. 将该数据存入脚本的一个参数中。
  3. 将脚本中需要使用该数据的地方用参数来替代。

注:对于WEB应用来说,一般会用一个hidden的Field存放。

 

四.关联分为自动关联和手动关联

自动关联操作只对Web协议、DB协议和其他少数几种协议有效,对socket等协议录制的脚本不起作用

Loadrunner--关联

 

一.关联操作的条件

客户端需要从服务端返回的数据中获取部分数据,并将这部分数据处理后作为自己下一次请求的一部分发出。

那么什么地方需要关联呢?
凡是脚本每次执行时都必须获得唯一标识的地方都需要关联。假如脚本需要关联,如果不做关联是不会执行通过的,也就是说会有错误消息发生。不过很遗憾,并没有任何特定的错误消息和关联是有关系的。会出现什么错误消息,与系统实际的错误处理机制有关。错误消息有可能会提醒用户要重新登录,但是也可能直接就显示HTTP 404的错误消息。 

 

二.如何找出要关联的数据呢

简单地说,每一次执行时都会变动的值,就有可能需要做关联。

如:序列号和随机数一般需要关联。

 常见的需要关联的情景:

1.登录操作

2.先查后修改,先查后删除

3.并发控制:防止两个用户同时修改或同时删除一条记录

 

三.一般关联操作的步骤

  1. 从服务端返回的数据中选取需要进行关联的操作。
  2. 将该数据存入脚本的一个参数中。
  3. 将脚本中需要使用该数据的地方用参数来替代。

注:对于WEB应用来说,一般会用一个hidden的Field存放。

 

四.关联分为自动关联和手动关联

自动关联操作只对Web协议、DB协议和其他少数几种协议有效,对socket等协议录制的脚本不起作用

4.关联分为自动关联、手动关联、一边录制一边关联(预关联)

自动关联操作只对Web协议、DB协议和其他少数几种协议有效,对socket等协议录制的脚本不起作用。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值