LR中URL方式录制和基于HTML录制脚本

上一篇 / 下一篇  2012-12-19 17:05:08 / 个人分类:LR

 HTTP Vuser中的URL mode和HTML mode

在录制之前,我们需要设置录制选项,如图5-4所示。

 
图5-4  VU录制设置选项

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

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

1、 如何在lr中录制js等

在录制设置中选择url_base,即可

2、cookie问题?

Simulate a new user on each iteration意味着每次Iteration的时候LR会把cookie和session之类的清除。所以如果脚本中登录过程放在Init中的话,使用Simulate a new user on each iteration可能会有问题

3、关联问题

例如

web_reg_save_param("flight_num",
......
lr_eval_string("
{flight_num}
")

------这里就是一个关联

LR中基于URL方式录制和基于Html录制的脚本,并发时候的区别

选择html_base script方式录制脚本如下:

Action()

{

          lr_rendezvous("search");

          web_url("video",

                   "URL=http://test.yoqoo.com/search/video?keyword=NBA&moduleType=video",                   "Resource=0",

                   "RecContentType=text/html",

                   "Referer=",

                   "Snapshot=t1.inf",

                  "Mode=HTML",

                    LAST);

         return0;

}

选择url_base script方式录制脚本如下:

Action()

{

          lr_rendezvous("search");

          web_url("video",

                   "URL=http://test.yoqoo.com/search/video?keyword=NBA&moduleType=video",                   "Resource=0",

                   "RecContentType=text/html",

                   "Referer=",

                   "Snapshot=t1.inf",

                   "Mode=HTTP",

                    LAST);

         return0;

}

2个脚本在并发200的时候得到的页面响应时间出入很大,结果如下

html_base script(Mode=HTML) 平均响应时间16s

url_base script(Mode=HTTP)平均响应时间8s

为什么出现这样的结果呢?

使用LoadRunner Analysis分析结果如下,说明html方式的并发在server time花了很多时间(30s),都是在下载和该url相关的所有页面元素,包括js、图片、甚至视频

而使用http方式的并发在server time只花了6s,并没有下载其他页面元素。

概而言之,就是一个html会包含n〉=1的http,而一个http仅就是一个http。

url_base script(Mode=HTTP)图示![http://10.2.100.220:8081/download/attachments/1131/LR_html_http区别.rar]

html_base script(Mode=HTML)图示

4 启动retatd服务

1) Downloadrstatd.
2) Build and install rstatd:

$ tar xvzf rstatd.tar.gz
$ cd rpc.rstatd
$ ./configure --prefix=/usr
$ make
# sudo su
# make install

3) Add a line to /etc/hosts.allow to allow certain hosts to make rstatd requests:
rpc.rstatd: 192.168.0.0/255.255.255.0
4) Add rstatd entry in /etc/xinetd.d/rstatd:

#default: off
# description: An xinetd internal service which rstatd's characters back to clients.

service rstatd
{
     type             = RPC
     rpc_version      = 2-4
     socket_type      = dgram
     protocol         = udp
     wait             = yes
     user             = root
     only_from        = 10.0.95.0/24
     log_on_success   += USERID
     log_on_failure   += USERID
     server           = /usr/sbin/rpc.rstatd
     disable          = no
}

是选择HTML还是URL录制,有以下参考原则:

5) Restart xinetd:

(1)基于浏览器的应用程序推荐使用HTML-based script。

(2)不是基于浏览器的应用程序推荐使用URL-based script。

(3)如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based script方式录制。

(4)基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based script方式录制。


TAG:

 

评分:0

我来说两句

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 28703
  • 日志数: 46
  • 书签数: 2
  • 建立时间: 2012-07-31
  • 更新时间: 2013-06-06

RSS订阅

Open Toolbar