LoadRunner用户行为模拟器 《第三篇》

用户行为模拟器简称VU,VU通过运行VU脚本模拟了用户对软件的操作行为。VU是基于网络协议的。很明显,被测服务器是通过各种各样的网络协议与客户端打交道的。VU要“骗过”被测服务器,当然就要遵守这些协议,按规矩、按步骤来执行动作,否则就会吃“闭门羹”。

  基于网络协议的脚本的一个好处是,我们可以使用相对少的硬件资源,来生成大量的虚拟用户负载。相比之下,WinRunner和QTP脚本时基于界面事件的,它在一台主机上同时只能运行一个虚拟用户的脚本,因为一个虚拟用户会占用整个主机的资源。

  所以可以有如下结论:

  1. VU不关心用户在界面发生的事情(如用户鼠标移动、填写WebForm数据)等。
  2. VU中的操作关联与界面上的操作关联是不一致的。如正常用户的操作是,打开列表页,点击一行进入详细页面。而LoadRunner只记录一个请求,以及这个请求的参数直接进入,对它来说根本没有打开列表页的步骤。

一、录制脚本

  VU通过录制用户在客户端软件的操作来直接生成脚本,用户的每个协议级的操作以LoadRunner的API函数方式记录在脚本里。回放脚本的时候,通过执行API函数来模拟最初用户的操作动作。

  1、选择协议

  协议有好多种,是用哪种协议当时你开发的时候你自然会知道。目前我一般用的都是Web(HTTP/HTML)协议。

  当我们试图创建一个新的VUser的时候,就会弹出协议选择对话框。

  

  有两种协议选择方式:单协议模式和多协议模式。

  (1)、单协议模式:当用户以单协议录制时,VU只录制在既定协议上的用户操作,在VU中我们可以使用单协议模式选择任何一种协议。
  (2)、多协议模式:当用户以多协议录制时,VU录制几个协议上的操作。并不是任意的协议都可以组合成多协议模式。

  2、规划脚本结构

  在录制时,用户可以选择哪些操作生成脚本在vuser_init、Action和vuser_end中,同时,也可以在录制时随时加入transaction的定义、注释和同步点。VU录制工具条如下所示:

  

  3、HTTP Vuser中的URL mode和HTML mode

  在录制之前,我们需要设置录制选项:

  

  

  在默认情况下,选择“HTML-based script”,说明脚本中采用HTML页面的形式来表示,这种方式的Script脚本容易维护,容易理解,推荐以这种方式录制。

  “URL-based script”说明脚本中的表示采用基于URL的方式,所有的HTTP的请求都会被录制下来,单独生成函数,所以URL模式生成的脚本显得有些杂乱。

复制代码
Action()
{
    web_url("Login", 
        "URL=http://127.0.0.1:9090/Account/Login", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        LAST);
}
复制代码

  而以HTML模式录制,则生成如下脚本:

复制代码
Action()
{
    web_url("Login", 
        "URL=http://127.0.0.1:9090/Account/Login", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTTP", 
        LAST);

    web_url("Default.css", 
        "URL=http://127.0.0.1:9090/Resources/CSS/Default.css", 
        "Resource=1", 
        "RecContentType=text/css", 
        "Referer=http://127.0.0.1:9090/Account/Login", 
        "Snapshot=t4.inf", 
        LAST);

    web_url("gwu1.jpg", 
        "URL=http://127.0.0.1:9090/Resources/Images/login/gwu1.jpg", 
        "Resource=1", 
        "RecContentType=image/jpeg", 
        "Referer=http://127.0.0.1:9090/Account/Login", 
        "Snapshot=t5.inf", 
        LAST);
  ... 省略N个
}
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值