测试之家淘宝店:主营软件测试定制服务 http://shop71136398.taobao.com/ 软件评测试考试论坛:http://www.testdao.com/forum-113-1.html 2012软件评测师考试群:28388329

深入理解Loadrunner中的Browser Emulation

上一篇 / 下一篇  2009-03-10 16:40:27 / 个人分类:loadrunner

  一:基本介绍

KV7h1A Cm6a0在Loadrunner的使用中,对于Run-time Settings下的browser emulation设置是比较容易让人产生困惑的地方。下面我们结合sniffer来具体看看每个选项的用途,以及对测试的影响。

8s-d_;k-K7~0

~;N@ Jsp0[1H0clip_image002

y1Vpg{W\X0

rETKlAD(h3s0                                               Browser Emulation 图51Testing软件测试网%\1u7^{e7[ hzJT

9a`PU']j0二:案例和工具51Testing软件测试网8~Ba1Y[W

51Testing软件测试网 l3j H#Jf}

1.测试案例:

R R5A,[V L~A0

4C\D0qU-I E _/}V0打开网站首页两次,对比不同Browser Emulation设置下loadrunner的行为,脚本如下。

E`9H7\Y;Z'D0
Action()
{
    web_url("www.primeton.com","URL=http://www.primeton.com/","Resource=0","RecContentType=text/html","Referer=","Snapshot=t2.inf","Mode=HTML", 
        LAST);

    web_url("www.primeton.com","URL=http://www.primeton.com/","Resource=0","RecContentType=text/html","Referer=","Snapshot=t2.inf","Mode=HTML", 
        LAST);return0;
}
51Testing软件测试网3T FDQ C

51Testing软件测试网9y0C"baZ R

Y7zg-tN{02.sniffer工具

vo"NZ&@ ~0

Z$[+u*N3R~$F0开源工具:Wireshark(前身是ethereal)(www.wireshark.org)51Testing软件测试网zS1t)oX1?

I J]#j\+|Ci0三:测试过程51Testing软件测试网:J ~ t4n6K:P8Ix

51Testing软件测试网?q$o(]+x

为了方便描述,我们约定用:

pL$LwW'@ _]#L0

p/btM C2E |w0A代表Simulate browser cache51Testing软件测试网[A~ ?\*y|&R

'Pw wI8c s0L*w}8c[0B代表Cache URLs requiring content(HTMLs)

Mv)ZU+jy0

,qZ]&M+PJQ"}0C代表Check for newer versions of stored pages every visit to the page

`5p1w)j4S5^9s$I$xv051Testing软件测试网D x/P p~ ^

D代表Download non-HTML resources51Testing软件测试网\]%U\%yC ^

'q'h~1U^}f6C0E代表Simulate a new user on each iteratioin

+K D eTb1~`vOB0

I5@/rb4@`6@"f0F代表Clear cache on each iteration

z\C4s@2w0

Y!OQeb(V9Q0首先设置Run Logic中的iteration为2。让Action运行两次,看看循环运行脚本两次,数据包和连接数的变化。51Testing软件测试网n l1bXL NeuPQ~

51Testing软件测试网MVTV+_ Q'v

1.去掉所有选项51Testing软件测试网Ob%QT4a my,m

51Testing软件测试网 YBY:E0w

结果:共获取数据包95个,建立连接1个(红色标识),断开连接1个(蓝色标识)51Testing软件测试网B W?.y*S2G

No.     Time        Source            Destination       Protocol Info51Testing软件测试网0nK'NW{.U!EY
     1 0.000000    192.168.1.61      203.81.29.137     TCP      13835 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
Z%~Od-?8Y0
      2 0.036053    203.81.29.137     192.168.1.61      TCP      http > 13835 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
Tt]l(r3w.h0    92 1.415887    192.168.1.61      203.81.29.137     TCP      13835 > http [FIN, ACK] Seq=817 Ack=71762 Win=257760 Len=0
\1BT!Ezv0
     94 1.449960    203.81.29.137     192.168.1.61      TCP      http > 13835 [FIN, ACK] Seq=71762 Ack=818 Win=16464 Len=0
51Testing软件测试网 {2e6Uhn,H

t*]}'HN2t'E M2}VZ051Testing软件测试网-`:Z7r ^J

在这种情况下,数据包非常少(没有选择下载资源文件入css,js,gif等),而且你可以看到,打开4次首页,只建立了一个tcp连接。

G1a1}n+B,t.g-](T051Testing软件测试网:PJFggn9A!F^y4dN&h

这时,你即使选择A,发现数据包的数量量页没有变化,因为cache主要还是针对资源文件

ovJZH051Testing软件测试网ulE)c!@8Z ^"n

2.选择E(F)

c-S-l&E Fp `#i0

mE|1I~4b:m9F'rE%n0结果:共获取数据包102个,建立连接2个(红色标识),断开连接2个(蓝色标识)51Testing软件测试网q6qK.x;]^

mzn.^k @ Nu*J F0No.     Time        Source            Destination       Protocol Info51Testing软件测试网wCv/dIUT,Yt
     1 0.000000    192.168.1.61      203.81.29.137     TCP      13886 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网0RVef\.F4n
      2 0.037013    203.81.29.137     192.168.1.61      TCP      http > 13886 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网/p C]JV,L
     48 0.618117    192.168.1.61      203.81.29.137     TCP      13886 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=051Testing软件测试网-k\#?$[,H
     49 0.644106    192.168.1.61      203.81.29.137     TCP      13887 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网/X6tW2J"InY;Fa+I
     51 0.651919    203.81.29.137     192.168.1.61      TCP      http > 13886 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0
!{Eg-`E9^N/Q~0     53 0.676377    203.81.29.137     192.168.1.61      TCP      http > 13887 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网$Ud l?B.}Q
     99 1.310379    192.168.1.61      203.81.29.137     TCP      13887 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=051Testing软件测试网M0Q)s v#TVQ:W!u7{
101 1.347949    203.81.29.137     192.168.1.61      TCP      http > 13887 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0

e[(]HFo#^0

Z A6NX&P9lx}.r0在这种情况下,数据包非常少(没有选择下载资源文件入css,js,gif等),对比第一种情况,你会发现它建立了两个连接,这就是E的作用,它对于每次迭代都当成一个新的用户,需要重新建立连接。51Testing软件测试网9niJ$`*`Bx4~3p

51Testing软件测试网4JLW hH8k'YP

3.选择DE(F)

cG)F3r"R5_5J0S.XG0

6o @ jQ\-jr-\0结果:共获取数据包1782个,建立连接6个(红色标识),断开连接6个(蓝色标识)

.TXv'_&k0

@9U@(lCN$OU0No.     Time        Source            Destination       Protocol Info
~?;V"Y ld[0     1 0.000000    192.168.1.61      203.81.29.137     TCP      14016 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
fW(Fkti7~0
      2 0.037911    203.81.29.137     192.168.1.61      TCP      http > 14016 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网q&Q$_5B4qf
      6 0.107432    192.168.1.61      203.81.29.137     TCP      14017 > http [SYN] Seq=0 Len=0 MSS=1460 WS=29 0.141816 203.81.29.137 192.168.1.61 TCP http > 14017 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0    426 3.334889    192.168.1.61      203.81.29.137     TCP      14017 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=051Testing软件测试网?1T N;R3[DY
    428 3.372253    203.81.29.137     192.168.1.61      TCP      http > 14017 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=0
Y4dr2EA$?G0    448 4.395488    192.168.1.61      203.81.29.137     TCP      14020 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
!N'Cs(Hb,x0
    457 4.439604    203.81.29.137     192.168.1.61      TCP      http > 14020 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
&[NrQk M ff0    859 7.593610    192.168.1.61      203.81.29.137     TCP      14016 > http [FIN, ACK] Seq=2849 Ack=377404 Win=257484 Len=051Testing软件测试网`Oj;aS4R#bn'ZF
    870 7.659680    203.81.29.137     192.168.1.61      TCP      http > 14016 [FIN, ACK] Seq=377404 Ack=2850 Win=15935 Len=051Testing软件测试网 TV:y+{q3H\Y_C
    888 8.511308    192.168.1.61      203.81.29.137     TCP      14020 > http [FIN, ACK] Seq=1602 Ack=208150 Win=257760 Len=051Testing软件测试网-S$b+FHgK;O%E
    890 8.549451    203.81.29.137     192.168.1.61      TCP      http > 14020 [FIN, ACK] Seq=208150 Ack=1603 Win=17280 Len=0
%`ck0s3U#k0    892 8.566246    192.168.1.61      203.81.29.137     TCP      14022 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
1Yw!l$ay0    893 8.601893    203.81.29.137     192.168.1.61      TCP      http > 14022 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
/rJ-`c7S/R*tYOg0    899 8.702628    192.168.1.61      203.81.29.137     TCP      14023 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网4wo3I5i#}!f|F
    904 8.741807    203.81.29.137     192.168.1.61      TCP      http > 14023 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网@UbC'W [ `
   1298 11.809456   192.168.1.61      203.81.29.137     TCP      14022 > http [FIN, ACK] Seq=1550 Ack=159770 Win=257484 Len=051Testing软件测试网lOS#aG!TS
   1310 11.878665   203.81.29.137     192.168.1.61      TCP      http > 14022 [FIN, ACK] Seq=159770 Ack=1551 Win=17280 Len=051Testing软件测试网+A Q }.@x:q
   1341 12.771707   192.168.1.61      203.81.29.137     TCP      14026 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网u0~JS:{V!X6RAS
   1348 12.813950   203.81.29.137     192.168.1.61      TCP      http > 14026 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
k P:G:og3Y8f0   1759 16.032952   192.168.1.61      203.81.29.137     TCP      14023 > http [FIN, ACK] Seq=3151 Ack=367918 Win=257484 Len=0
.f |r g TB$pes [0
   1761 16.068296   203.81.29.137     192.168.1.61      TCP      http > 14023 [FIN, ACK] Seq=367918 Ack=3152 Win=17280 Len=0
7`y'X0n|0   1779 16.983042   192.168.1.61      203.81.29.137     TCP      14026 > http [FIN, ACK] Seq=1602 Ack=208150 Win=257760 Len=0
:IcLP8oWyP z0   1781 17.016836   203.81.29.137     192.168.1.61      TCP      http > 14026 [FIN, ACK] Seq=208150 Ack=1603 Win=17280 Len=0

Ln2`$p%D,q%u$W0

M.\R+j6Cs5N051Testing软件测试网RN2ZOl ` ?

gaWh9D9R#VJa D0在这种情况下,数据包的数量非常大,连接也很多,由于没有cache功能,每次打开页面都需要重新下载所有的资源文件。

R{gJ R]4Fbs-n051Testing软件测试网n&t9rw5E'kR5Z

4.选择ADE

2_wDa qz051Testing软件测试网)@&oyE1CJ0SV$U

结果:共获取数据包525个,建立连接3个,断开连接3个(不再标识了,syn即为连接请求,fin即为断开请求)

\3K MoW8D$J~@051Testing软件测试网_-W M1h:Q|NDN

51Testing软件测试网h(xX'~+hc r |8l

]X4POU'p"n%G(k0No.     Time        Source            Destination       Protocol Info51Testing软件测试网B-p$B:C%jN8Ov0A uf
      1 0.000000    192.168.1.61      203.81.29.137     TCP      14189 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网!S$a&fY8s_
      2 0.033657    203.81.29.137     192.168.1.61      TCP      http > 14189 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网$@ C,tAHe#{"M4}R
      6 0.100636    192.168.1.61      203.81.29.137     TCP      14190 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
8s#FgU-o5{n0      9 0.133703    203.81.29.137     192.168.1.61      TCP      http > 14190 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网4hOGY S.lJ sP O
    429 3.383748    192.168.1.61      203.81.29.137     TCP      14190 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
B.v4v$b3a0    431 3.418556    203.81.29.137     192.168.1.61      TCP      http > 14190 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=051Testing软件测试网 P!`7x"`[/o&v1O
    471 4.352071    192.168.1.61      203.81.29.137     TCP      14189 > http [FIN, ACK] Seq=1504 Ack=235576 Win=257760 Len=0
ak k%}t)Qi0    472 4.380312    192.168.1.61      203.81.29.137     TCP      14192 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网-L!D3oe#~ hb u
    474 4.389778    203.81.29.137     192.168.1.61      TCP      http > 14189 [FIN, ACK] Seq=235576 Ack=1505 Win=17280 Len=051Testing软件测试网,`w3[mV*H,^
    476 4.413220    203.81.29.137     192.168.1.61      TCP      http > 14192 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
rh6t)ite:@2i-X&R2yCjn0    522 5.078068    192.168.1.61      203.81.29.137     TCP      14192 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=051Testing软件测试网X]J#^8Q].]1r$`
524 5.115099    203.81.29.137     192.168.1.61      TCP      http > 14192 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=051Testing软件测试网gr~i4a7yy.\

3H1gv!P4H5h#i7`+k?0在这种情况下,cache发挥作用,数据包对比第三种情况大大减少,几乎等于打开一次首页的数据量(449个数据包),只有第一次打开页面需要完整下载页面(包括资源文件),后面的三次打开页面都只要下载HTML页面(不包括资源文件)。51Testing软件测试网2C;{,g'L!A c0B?Z

51Testing软件测试网YRi$M0m`,_

X C_K$D!oGV ZE0

!gIl%v5J@(gHP05.选择ADEF51Testing软件测试网m L(n~xf2O-]

51Testing软件测试网g"a { y6h a$S9|9F

选择F之后我们看看结果:共获取数据包942个,建立连接4个,断开连接4个51Testing软件测试网tv.i+K;Z+Rbw"]

51Testing软件测试网 U[-YF8@sICPF

No.     Time        Source            Destination       Protocol Info
G6mf4C}:} Fa-H0      1 0.000000    192.168.1.61      203.81.29.137     TCP      14292 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
J CAc gR0      2 0.034524    203.81.29.137     192.168.1.61      TCP      http > 14292 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
3|+U(Z8e*JHr-b-_5W&c0      6 0.102314    192.168.1.61      203.81.29.137     TCP      14294 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网%|sFik
      9 0.139752    203.81.29.137     192.168.1.61      TCP      http > 14294 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网xE [{R
    426 3.791111    192.168.1.61      203.81.29.137     TCP      14294 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
1uS u FA~I:N5w0    428 3.824970    203.81.29.137     192.168.1.61      TCP      http > 14294 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=051Testing软件测试网Ld(zblQ$SZ
    468 6.213276    192.168.1.61      203.81.29.137     TCP      14292 > http [FIN, ACK] Seq=1504 Ack=235576 Win=257760 Len=051Testing软件测试网 aU0il4m)]J
    469 6.244052    192.168.1.61      203.81.29.137     TCP      14297 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
4qLY y i#HmO,M0    471 6.249564    203.81.29.137     192.168.1.61      TCP      http > 14292 [FIN, ACK] Seq=235576 Ack=1505 Win=17280 Len=0
5la*rsD$oY0    473 6.279647    203.81.29.137     192.168.1.61      TCP      http > 14297 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网D5uM/dA S HP
    479 6.374967    192.168.1.61      203.81.29.137     TCP      14298 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网`)X^jb,h
    484 6.419597    203.81.29.137     192.168.1.61      TCP      http > 14298 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网(Y|;n$n$QX @
    897 9.858493    192.168.1.61      203.81.29.137     TCP      14297 > http [FIN, ACK] Seq=1550 Ack=159770 Win=257484 Len=051Testing软件测试网*u V \t{e'N^/P
    899 9.895188    203.81.29.137     192.168.1.61      TCP      http > 14297 [FIN, ACK] Seq=159770 Ack=1551 Win=17280 Len=0
,`&l8HG(rJi-w0    939 12.840029   192.168.1.61      203.81.29.137     TCP      14298 > http [FIN, ACK] Seq=1806 Ack=226090 Win=257760 Len=051Testing软件测试网F_`l0h ny*D
    941 12.876120   203.81.29.137     192.168.1.61      TCP      http > 14298 [FIN, ACK] Seq=226090 Ack=1807 Win=17076 Len=0

*x?!}$i GaQ0

xq5V J(p0在这种情况下,由于选择了F,在迭代的时候清除了cache,所以每次迭代都需要重新下载资源文件。数据包差不多等于第三种情况的一半,约等于打开两次首页的数据量(449×2个数据包)。51Testing软件测试网Ls T\Tb#H`;}E`

51Testing软件测试网S#E5B$gL^ X3p~

6.关于BC选项51Testing软件测试网8R%k W4KC$_px

3k9gwpm,T+|!Yz0C的解释(Check for newer versions of stored pages every visit to the page

bXz b9Q^051Testing软件测试网"?t*E kk7U

C比较容易理解,类似IE设置中的每次检查,如果不设置C,LR对于已经cache的文件就不会重新向服务器请求,如果选择C,你就可以在数据包中发现很多304信息。51Testing软件测试网qkcp8m/UNL

51Testing软件测试网Z F6]1G8t-R2g[0e4N

B的解释(Cache URLs requiring content(HTMLs)51Testing软件测试网&KDk:_J0g#LW!]

zty5r}n~0LR对于资源文件的cache并不会真正cache在内存中或者在磁盘上,这个选项表示:对于一些需要用到的关联,校验,页面解析内容真正cache在内存中,减少客户端的重复工作

6@9Q5}\E,kK0

4t#e$K;K+d GrZ0当然如果你想把GIF也cache到内存中,你可以在Advanced中设置,选择Specify URL requiring content in addition to HTML pages,加入条目image/gif,并勾选。当Vuser运行的时候,你可以对比一下mmdrv.exe进程的内存消耗(内存占用会更多)。

xBC.a"H&u(S051Testing软件测试网gt2]Q[

四: 结论51Testing软件测试网Ko,]u,FO,Cv#fc

51Testing软件测试网w0J;M)Y QC Q

通过上面的测试分析,我们大概知道了每个选项的真正含义,你需要根据你的测试目的来选择合适的设置:

q T ^o*Br0U&MJ4i0

PD"NL/_01、 对于一个具体的应用测试,对于前端Web Server不可忽略,缺省设置非常合适,不需要调整(有时候需要考虑把C选上)51Testing软件测试网-^3{+d*tOYu

51Testing软件测试网!\/` n[/?6uj

注意:很多人在录制脚本的时候,习惯把登入操作放到vuser_init中,这时候缺省设置可能会抛错,建议把这类的操作都放入到action中

s}PbF"c0PC0

*z,w5kHt"W Z3X02、 如果你更关注后端应用服务器的性能或者说做一些架构的验证分析,那你缺省设置对于你来说就不合适了,你需要选择取消所有的设置项。

K?_1may051Testing软件测试网,pG X*{{L(RW$i}!B

当然你也可以根据自己的具体情况做不同调整,但是一定要真正理解这些选项的具体含义才能做到不犯错误

C,?? og#N^0

TAG:

 

评分:0

我来说两句

Open Toolbar