Loadrunner疑惑点,参数化,关联如何定位等

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、脚本的录制方面

1.LR中脚本浏览可以使用两种模式:Tree图形化模式和Script脚本模式

2.LR中还提供了Tasks的标签,这里提供了VUG建议的脚本录制开发过程,通过一个任务流的方式知道你。

3.录制选项,对于web使用的录制方式,HTML提供了两个大类的录制方式:HTML-BASED SCRIPT 和URL-BASED SCRIPT。

第一种:Html-based script 这种方式录制出来的脚本是基于html基础的,其下有两种不同类型的脚本:1. A script describing user actions基于解释用户行为的脚本,录制的脚本中包含web_link,web_submit_form函数,主要是描述用户做了什么操作。

(1)思考:若一个页面中有多个同名的链接,怎么办?

答:ORD这个关键字可以帮助你。=2就是点击的第二个。

(2)使用html-base Script下的A script describing user actions的好处是脚本简洁,基于用户操作模拟,浅显易懂,且自身包含对象检查过程,无需校验。缺点是基于用户行为的模拟,在参数化和链接多个同名时难以应用。

(3)A script containing explicit URLs only 基于url请求的脚本录制类型。Web_ulr()、web_submit_data()

第二种:url-based script 这种是基于URL请求的脚本录制方式,会录制所有的http请求。(1)思考:什么时候我们该用html-based script还是选择url-based script呢?

答:一般来说如果我们的标准是使用IE访问的B/S架构,我们应该使用html-based下的a script containing explicit urls only这种方式来录制脚本,这种脚本基于url请求完成,不会带有任何前后依赖的内容。而如果我们是一个非IE标准的C/S架构,我们建议使用url-basedscript来录制脚本,这样我们可以确保不会遗漏任何http请求。

4.对于录制脚本的时候乱码问题解决方案。

答:Recording Options—advanced—勾选support charset 选择utf-8

二、.运行时设置

1.lr_output_message(“%s”,”aaa”);//输出显示函数

2.注意:Number of Iterations只为Run上设置迭代次数

在run的属性上,提供有Sequential和Random两种运行模式。

3.课本P63页BLOCK没有看明白,再看。

4.pacing:配置脚本运行中每次interation之间的等待时间

此处at和with的区别须注意:

With 是指前一次ending interation到下一次starting interation之间的时间

At 是指前一次starting interation到下一次starting interation之间的时间,所有at是包含前一次interation执行的时间。

5.log:日志选项。日志分两大类:一类是standard标准日志,一类是Extended log扩展日志。,日志的等级越高,则日志的内容越高,但是为定位带来不便。

Parameter substitution:选择此选项可以记录指定给脚本的所有参数及其相应的值。

Data returned by server:选择此选项可以记录服务器返回的所有数据。

Advanced trace:选择此选项可以记录vuser在回话期间发送的所有参数和消息。

6.lr_think_time():等待时间(用户思考时间),在vug中默认忽略了该函数。在场景中,该选项默认变为replay think time。

三、参数化

1.Lr_eval_string(“参数”);//该函数可以从参数中取得对应的值。

自己定义一个参数,这个参数是自己使用的,我们用函数lr_save_strng()实现。Eg:

lr_save_string(“”,”website”);我们这里就是把一个 的字符串赋值给一个叫做website的参数,如果我们再写Web_url(“51testing”,”URL={websit}”,LAST);运行这个脚本,我们会看到调用51testing这个网站。l

2.参数化的方法

第一种:确认要参数化的内容,选择,右键打开菜单,选择replace with paramter填写参数名称

第二种:在parameter list中,点击new

3.分清each interation、each occurrence和once的区别(select new row选择sequential的情况)。

each interation:顺序取值,当取值超出参数记录条数,回到列表头再次取值

each occurrence:只要取一次参数的值,那么记录就会发生变化,当取值超出参数记

录条数时,回到列表头再次取值。

once:第一次取值后再也不去新的记录

4. 分清each interation、each occurrence和once的区别(select new row选择random的情况)。

each interation:当设置了run上的interation次数后,每产生一次新的迭代,参数随

机取一次值。

each occurrence:每当参数被取值一次,参数的内容随机选择一条。

once:第一次取值后一直沿用这条记录

5.abort vuser:当参数取值超出参数列表记录调试时,忽略用户脚本。

Continue in a cyclicmanner:当超出时使用一个循环扫描的方式

Continue with last value:使用参数表中的最后一个值。

6.分清each interation、each occurrence和once的区别(select new row选择unique的情况)。

each interation:当设置了run上的interation次数后,按照记录顺序读取,当记录超

出列表之后,执行when out of value策略。

each occurrence:每当参数被取值一次,按照记录顺序读取,当记录超出列表之后,

执行when out of value策略。

once:第一次取值后一直沿用这条记录

7.总结一下参数在场景下取值的对应关系:

Param参数记录条数>=手动分配块的数目X 虚拟用户个数(在手动分配unique数据块策略下)

8.参数和变量的作用域及区别:参数是全局的,在脚本的任何一个action都可以使用,变量一般是局部的,而且必须在action的最开始定义,否则会出现错误。

区别:参数是可以直接在LR的函数中应用的,绝大多数情况下我们都可以直接用参数替换

相关文档
最新文档