不要追求绝对的公平,红尘之中没有公平而言,人活一世,难得糊涂。                                           it is no use doing what you like, you have got to like what you do.

性能测试脚本自动建立测试datapool应用

上一篇 / 下一篇  2006-12-06 20:58:20 / 个人分类:软件测试技术

实际应用

Y2QD9T7hi0

51Testing软件测试网BJ;[,cu!K
为了说明问题。我用分别用
vb,delphi, DotNET实现一个简单添加用户的功能,后台用ACCESS数据库,例用ado通过odbc连接。

-AX/F!D!Bb.Z0

1        分析程序实现的结构,是简单的c/s结构,利用odbc连接。并且客户端,服务器端都配置在一台计算机。(请注意这个是条件,我们第二步选择的基础)

miCf:Zi9R0

2        设置session Record Options51Testing软件测试网/ph)D8O C2e e

录制方法选择api record录制,协议用odbc。(如果我后台换sqlserver或则oracle,其他实现方式不变,应该选择什么协议,因该添加什么协议)51Testing软件测试网+n-R0R+Z2lL0G!RDE

3         Vb,delphi编码方式的功能脚本录制成功(创建同名datapool)。DotNet脚本录制成功,却无法产生同名的datapool(怎么办)。不成功脚本如下:51Testing软件测试网a$_1K*Y k3Z/e

       /*51Testing软件测试网@'P,R9ye

      ->-> Session File Information <-<-51Testing软件测试网"A5t_ ^!c(U

       Created: Sun Apr 25 23:24:36 200451Testing软件测试网8O7{E.t5vQ*Cw!}

          Name: G:\Program\robot\lead\TestDatastore\DefaultTestscrīptDatastore\TMS_Sessions\demo.wch

:K2j7a)TFF:xy0

          Type: Rational Robot - API51Testing软件测试网2w mUt T!Z3A

                (with ODBC)*/
A6Ym/R&J[8Z0#include <VU.h>
51Testing软件测试网"m9sTly

{51Testing软件测试网2SX%`"r4B ZEa

push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */51Testing软件测试网p8C/L PBH(L7sM

push Think_def = "LR";

ao gcP9\{O0

Min_tmout = 120000;       /* Set minimum Timeout_val to 2 minutes          */51Testing软件测试网p)NB9VL,P6?%h^+[ K

push Timeout_val = Min_tmout;51Testing软件测试网#a!W8i*@i;qT9G4^ [+J

/* No Datapool Items Remain */

%frQRNX/LW ~?0

/* After All Data Analyses. */51Testing软件测试网 a*X im8n&q1O

VBNETDemo = sqlconnect("VBNETDemo", "", LOOKUP_PWD,

m I3r;j7yV0

                       "VBNETDemo", "odbc",51Testing软件测试网uLF-T BU@`

                       "DRIVER_INFO='DSN=?;;UID=DEFAULT;PWD=DEFAULT;'");51Testing软件测试网Gk]V({!f2m

/*{ INFO SERVER "UNKNOWN"="0.0.0.0"; }  */51Testing软件测试网 y G&H-H(I z[ ~

/* Unable to determine Server Name/Address  */

;UK5tXI)iX9{0

set Server_connection = VBNETDemo;51Testing软件测试网#L"XdII }

push Think_avg = 0;

&F-pY;SxZ(g0

stmt_2_1_id = sqlopen_cursor ["pre001"] "", "select * from login";

/N4H)~ @0i i0

set Think_avg = 313;51Testing软件测试网0y:}4` G'z_ q @7{].h

push CS_blocksize = 1;

z;uw,q]D;P%{0

sqlfetch_cursor ["pre002"] stmt_2_1_id, ALL_ROWS;51Testing软件测试网X O&_&G N7Ey:H

set Think_avg = 0;51Testing软件测试网I8s6bhq3Pi!p

"x~d'lt%o6iW0

sqlclose_cursor ["pre003"]  stmt_2_1_id ;

g|E9H~2d Q0

set Think_avg = 4078;51Testing软件测试网,mR w#qLVN6O*E:O

stmt_2_2_id = sqlopen_cursor ["pre004"] "", "INSERT INTO `login` (`name`,`password`) VALUES (?,?)",51Testing软件测试网3K'G0jF9o'q"fZ#|

   "'f\002'<varchar(50):I>",

]4p4c2I)R-c&p [i5z0

   "'f\002'<varchar(50):I>";

N(N2apV$X.uO9j0

set Think_avg = 0;51Testing软件测试网Ak]-M%as0W;_`
51Testing软件测试网 Ns&o5O X i"Sjk
sqlfree_cursor( stmt_2_2_id );51Testing软件测试网-`DW;@C
51Testing软件测试网:v'LEm3E-O|
set Think_avg = 2781;
%R:iO ?q%`)N N[0
|M7v9\m ]W8j/F M0sqlfree_cursor( stmt_2_1_id );51Testing软件测试网xm3D7zi2K,Ojg

kk3g9cIj0sqldisconnect(VBNETDemo);51Testing软件测试网Z/M+V2|r%i
51Testing软件测试网1M)]ea!SFO.Y#G
pop [Think_def, Think_avg, Timeout_val, Timeout_scale];
51Testing软件测试网 b)b+Cf ot#e;WN

pop CS_blocksize;  }51Testing软件测试网jI |O o Y`

       EDIT->Datapool information报错没有datapool config,那就动手修改脚本51Testing软件测试网m+Gh9PVoL

4.修改脚本后如下51Testing软件测试网)?9o_$F:hw1VVl:Z

      /*->-> Session File Information <-<-

)Lf0v-e.WD-}#B\0

       Created: Sun Apr 25 23:24:36 200451Testing软件测试网'a.} eXlkf8tk

       Name: G:\Program\robot\lead\TestDatastore\DefaultTestscrīptDatastore\TMS_Sessions\demo.wch

C'Nz3L^0

          Type: Rational Robot - API51Testing软件测试网5s y*u1z%QO3y

                (with ODBC)*/
B l}$U]:i051Testing软件测试网E'_BY\/h7Nr
#include <VU.h>

?hx-\WIy]_0

{51Testing软件测试网Ls+YgQuK1r;s
push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */

huo b4Kl3o:Ly0

push Think_def = "LR";51Testing软件测试网-Wk#];aUe%@ w,t

Min_tmout = 120000;       /* Set minimum Timeout_val to 2 minutes          */

DtGV ^ e0

push Timeout_val = Min_tmout;51Testing软件测试网S_U d+O
51Testing软件测试网pUma0P u
/* No Datapool Items Remain */ 
红色字体是无法生成datapool的解释51Testing软件测试网*L(Vtw'c'p[#so1^

/* After All Data Analyses. */51Testing软件测试网)S5a_"}N_

U3XK\TP7U_0DP1 = datapool_open("lead");   //
添加的脚本51Testing软件测试网"m9JX!U8Pm'`V9AL

datapool_fetch(DP1);          //添加的脚本
,~,D#g*zp0
+D%[i)G;scX@0VBNETDemo = sqlconnect("VBNETDemo", "", LOOKUP_PWD,
51Testing软件测试网[9pw.`rUk

                       "VBNETDemo", "odbc",

$cN`Wu6ST(V0w0

                       "DRIVER_INFO='DSN=?;;UID=DEFAULT;PWD=DEFAULT;'");51Testing软件测试网'a9xh5Ow$u F MP&F
51Testing软件测试网 T9\ HR(|Uy
/*{ INFO SERVER "UNKNOWN"="0.0.0.0"; }  */
51Testing软件测试网"{ T,}Q_k,R

/* Unable to determine Server Name/Address  */
o"AkL qi3s4e051Testing软件测试网7L(Wm }U[:J
set Server_connection = VBNETDemo;
N*]6e1R_a+m0
5P$r N!H,x2D*[0push Think_avg = 0;
51Testing软件测试网Ppok7`z

stmt_2_1_id = sqlopen_cursor ["pre001"] "", "select * from login";51Testing软件测试网QT6y&F_-C

set Think_avg = 313;

push CS_blocksize = 1;51Testing软件测试网'~*xyL7v%h [J

sqlfetch_cursor ["pre002"] stmt_2_1_id, ALL_ROWS;51Testing软件测试网)kA8Dh4y

set Think_avg = 0;

{7G9I;ono%q0

sqlclose_cursor ["pre003"]  stmt_2_1_id ;51Testing软件测试网Vh1\ A(Ea{A5I]

set Think_avg = 4078;51Testing软件测试网)@&t"L'z H6w8ia-Nu

stmt_2_2_id = sqlopen_cursor ["pre004"] "", "INSERT INTO `login` (`name`,`password`) VALUES (?,?)",51Testing软件测试网1am[O;Ax]!uy

   "'f\002'<varchar(50):I>",

NJ@|iH&Ag8l+@0

   "'f\002'<varchar(50):I>";51Testing软件测试网:\7U.W s&iB-F4T

 set Think_avg = 0;

&]dJM%L_0

sqlfree_cursor( stmt_2_2_id );

jw:[ ];M"GZ;Y7k0

set Think_avg = 2781;51Testing软件测试网8e,d}+G%\ HL

sqlfree_cursor( stmt_2_1_id );

i3^ Y].~ oS9Y6W0

sqldisconnect(VBNETDemo);
Q&B;mWkB-r']0K0
7~V4?0H'Y9IQ0pop [Think_def, Think_avg, Timeout_val, Timeout_scale];

HR&A[s#E0

pop CS_blocksize;

s%`6hzr0

}51Testing软件测试网9Kue0Aj

//下边是添加的脚本

%mAe4mU!a0

DATAPOOL_CONFIG "lead"  OVERRIDE DP_NOWRAP DP_SEQUENTIAL DP_SHARED

"C:_(~3of0

{

;B1o+i2bp2y0

        EXCLUDE, "rpcarg", "string", "f";51Testing软件测试网:Dj3QCf F3F:n

        EXCLUDE, "rpcarg", "string", "f";

,HN6n~\8a"dL7n0

}51Testing软件测试网~f V:y `3G

 51Testing软件测试网^Au2[ Gmho.mh

脚本修改完成后,错误解决,可以打开datapool information.

0IE)TA^?#z!i0

4建立datapool

iq}\BC gB0

Exclude含义是建立datapool但不建立datapool中字段,运行脚本的时候从实际录制的脚本中读数据。

F$[*d'AOx)W M0v0

Includedatapool建立一个同名的字段,运行脚本时从datapool中读数据。Overridedatapool中建立同名字段,运行脚本时从实际脚本中读数据。51Testing软件测试网7[#Pc$eFD,X

修改datapoolusage属性为include,建立datapool字段,生成数据,修改数据(添加测试用例中的数据)

&s$c.]%ua}0

5(确定脚本运行正常) robot中运行脚本,启动testmanager,点run suit。或者直接在testmanager中启动suit,修改changage,选择脚本

g*~ ] i GbX5B pG0

6.多用户访问。运行20个用户同时访问服务器(修改suitnumber of users),运行,修改数字为20,同时运行

b:S8rU@0

7.我们需要多用户同时访问,但是数据不同。

bl1Fm] i0

修改usage属性excludeinclude51Testing软件测试网Zkp']l

修改DATAPOOL Informationplayback behavīoraccessradom

3CkK1q/GT!x!~0

use scrīpt dataobey usage。运行testmanagesuit51Testing软件测试网D.i(J U"G2Q:j


TAG: 性能测试 Datapool TestManager 自动化测试 实际应用

 

评分:0

我来说两句

Open Toolbar