关注于测试自动化和测试管理,我是一个永远的测试新手。

Loadrunner 重名事务的处理

上一篇 / 下一篇  2007-12-23 18:28:12 / 个人分类:Loadrunner

51Testing软件测试网+B4ZI4v,WK

Loadrunner 重名事务的处理

3sH5A2v#L pO6sf0

;a:}/]7wY#A@0今天遇到一个难题,是因为提交重复请求限制的问题,由于加这个限制的开发人员不在,因此我需要写脚本绕过这个限制;这个限制是这样的:连续提交同样的数据,有个若干时间的判断,例如是10秒,那么在10秒内则返回“太频繁”,如果在10秒和10秒外,则可以再次提交成功。

e9O pQ6?L0

|+T6IX8k0我是这样来绕的,我把一个action的一个提交请求(web_submit_data)变成了二个请求,并手动修改了第二个的数据,这样再次迭代提交的数据就类似:A-B-A-B-A……这样就避免了这个问题。
N$E.si P#r/Jxz0(各位大大不要PK偶,因为数据是有限的,因此不能做参数化,可能实现的方法比较土,我主要说的问题也不是这个)

u2W eg^@d051Testing软件测试网o"o+C5dw:IR

写了一个示例脚本来说明,如下:
$B ]teh,s Iv(K0Action()
\'Tz VuL0{
P'^s2E2\DW4Nz0        char *add  = "c:\\BaiduPKGoogle.txt";51Testing软件测试网2\!c;{0y(r{ FT Ba7K
        long file;
LYks!^0        long a1,a2,b1,b2; //记录时间点
0zYD9r'Pw(N6e(C$F0        int time_x1,time_x2;51Testing软件测试网C$D,o2p_3m)wS
        file = fopen(add,"a+");51Testing软件测试网:h$E i,i f&n
        lr_start_transaction("1");51Testing软件测试网6T-wP]-e5y/Uz(y j]
        a1 = clock();51Testing软件测试网4IaC$|!H%Y0~NCp
        web_url("www.baidu.com",
(?~mSoQ0                "URL=http://www.baidu.com/",
B/B;[V&u1D!k8\n0                "TargetFrame=",51Testing软件测试网 FW to7T4tJ.^ q
                "Resource=0",
{QE6l Xf6D.Y_Ah0                "RecContentType=text/html",51Testing软件测试网s\(K eh4]SF
                "Referer=",51Testing软件测试网(SF:?:N5jlES#v&^ z/\;V
                "Snapshot=t1.inf",
^/o,u'G/[r0                "Mode=HTML",51Testing软件测试网3MCCLT1bk j
                LAST);51Testing软件测试网RI3TR&m%v
        a2 = clock();51Testing软件测试网v|[rX+i6r I:m
        lr_end_transaction("1", LR_AUTO);51Testing软件测试网RY-w"O_
        lr_start_transaction("1");51Testing软件测试网#B/LcfG;a:G
        b1 = clock();51Testing软件测试网(l8Q&G`^S
        web_url("www.google.cn",
;HV_#]"NAN#B0                "URL=http://www.google.cn/",51Testing软件测试网/i:Z!|!{,A x1Q
                "TargetFrame=",
'{/@:Zz9R-mB]i6t0                "Resource=0",
#ysu[PG@0                "RecContentType=text/html",
Ql(@/e'i hV7|7]0                "Referer=",
.o|H!uZ)NpaK_0                "Snapshot=t2.inf",51Testing软件测试网Ol.J[c
                "Mode=HTML",51Testing软件测试网&k"H$_P-B*?
                EXTRARES,51Testing软件测试网%|_&Y5d~qJ2o MQ
                "Url=/images/nav_logo3.png", ENDITEM,51Testing软件测试网}4G|y,t0ar1t)r,p w
                LAST);51Testing软件测试网wL w)^/e'Y|'V(P(x+{
        b2 = clock();
I8V9Sd$K Q0        lr_end_transaction("1", LR_AUTO);
3H x-i vd,x!\0        time_x1 = (int)(a2-a1);
8Mp9dL8u:W0        time_x2 = (int)(b2-b1);
SKW@5V-^+GL.c#`/i0        fprintf(file,"Baidu的时间差是: %d ms,Google的时间差是: %d ms\n",time_x1,time_x2);
W4xOI ^ Bq8g0        fclose(file);51Testing软件测试网,Ij2B'ZC
        return 0;
6q4Z @;Czn0B0}

5m+x+ZJw2@}6x051Testing软件测试网0Dv2T&xW"G]


3y[)Y4jk^ h0在场景执行时发现,2次提交请求造成了事务的响应时间不好统计,因此我细分了事务,并且统一使用了同样的事务名称,如上例里的“1”;51Testing软件测试网D~MwG

51Testing软件测试网7[,_|1g1v

这个脚本执行以后:
.U5ywx1kL8od3l0"1"事务数Pass:520
'DAP j3k2\0"1"事务数Failed:051Testing软件测试网FN2ve8X+A s
"Action"事务数Pass:26051Testing软件测试网"TYqO;^@
"Action"事务数Failed:0
J3f } c9~I6Q\:?0"1"事务的平均响应时间为:0.18秒左右51Testing软件测试网o`}@iX7h

2o9_ A5}J)A rs$B0其中,我通过fprintf函数打印出来的log是:
*]'[yrc7]0Baidu的时间差是: 67 ms,Google的时间差是: 359 ms
9RlE#uF#[1Y0……

KA$C%UjE4s,j Z051Testing软件测试网fr?F P CNAv

通过执行结果,可以得出,lr在场景执行并统计响应时间、事务数等数据时,同样的事务名是一起来统计的。51Testing软件测试网{~7JZd8Z X.r%R

8Yl0X\F]W U0同样,我们还知道,在不同的脚本里使用同名的集合点,多脚本可以进行同步等待集合;那么结合这2个已知的,是否可以看到Controllor的一些技术实现呢???51Testing软件测试网 `2YQO0L{d0B

:lN_uAeb JZc0欢迎大家多讨论,一起深入学习

m,PYPa,D X:z8bJ h0

TAG: Loadrunner

sun9731的个人空间 引用 删除 sun9731   /   2008-11-06 15:13:34
5
不错哦。。。实用
 

评分:0

我来说两句

qiguojie

qiguojie

北京测试一草根儿

日历

« 2023-12-15  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 119942
  • 日志数: 39
  • 图片数: 1
  • 建立时间: 2007-06-05
  • 更新时间: 2011-06-29

RSS订阅

Open Toolbar