;D.H
b)k1uUQ!`c0 WebService是一种构架应用程序的普遍模型,是系统对外的接口。可以在任何支持网络通信的操作系统中实施运行。WebService的主要目标就是实现应用间的跨平台的互操作。WebService可以使系统中孤立的站点之间能够相互通信、共享资源而提出的一种接口。Web Service所常用的协议标准,包含如HTTP、XML、SOAP、WSDL等,选择WebService协议进行测试,可以使服务的客户端与系统提供的服务本身之间进行紧密耦合,达到测试的要求。
u rc,Z"?'f*jNu051Testing软件测试网8^F/RY}n x_J 本文以一个基于webservice的文件下载功能服务为例,运用Loadrunner 11 对其进行性能测试脚本开发和调试,具体操作流程如下所示:
3Jn0??rp+hDW0
I%t(h6wE)X)p0 首先,选择WebService协议进行脚本录制。51Testing软件测试网?i+X| ?W
'g!m {S)~7C-};k0
点击“Manage
Service”按钮,然后选择“Import”。在Importservicre中的URL导入一个WSDL服务的文本
http://wsefrst.paerswft.com/store-01.wsdl,点击“Import”。其中,WSDL描述WebService
的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述,也就是描述与目录中列出的WebService进行交互时需要绑定的协议和
信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。
%Z8G*AX
s#x2Jt051Testing软件测试网L7uL\k?*{T
因此在Loadrunner在WebService虚拟用户协议中也支持两种测试方式:一种是通过“Add Service
Call”的方式,此功能导入的是WSDL文件;一种是通过Import SOAP的方式,Import
SOAP的方式需要导入定义好的XML请求文件。在本文中应用前一种导入WSDL文件的方式。
3]F{t7x051Testing软件测试网'C#}"NL6_2|'G
D d5~c ce0 下面对被测服务进行参数化,点击“Add Service
Call”选择调用接口,对WSDL文件中的参数,进行参数化赋值和选择相应动作。如下图,在选择相应的测试机service后,这里选择“down”下
载这个动作,并进行参数化赋值。关于参数化赋值方法,可以勾选住“Include argument
in”在“Vaule”输入框中进行常量赋值和变量参数化,变量参数化点击蓝色“ABC”即可,同时可以生成运行脚本,本文针对guid进行参数化,生成
2个脚本,一个是guid=111的常量参数化,一个是guid={guid}的变量参数化操作。对guid变量参数化,参数策略为select
next row:Unique,Update value on:Each iteration。其中, GUID即Globally Unique
Identifier(全球唯一标识符)。GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。
1h-~9O+\0OW0
8},e[$~Be[k0 具体脚本如下所示:
L&Ig;C@1y051Testing软件测试网3L2t4D:u(k5rU
51Testing软件测试网'D;Mi V4wg qAction()
DwxL4B2}En\4Ur0{
-@X7Yp:@NUZF0 web_service_call( "StepName=down_101",
x_Q+o7r1xe:o0 "SOAPMethod=T9EsbServiceService|T9EsbService|down",
o6EvBln_t0 "ResponseParam=response",51Testing软件测试网Q'\5Q
@ ?Mv:O
"Service=T9EsbServiceService",51Testing软件测试网s,ox'Mn k(gP
"ExpectedResponse=SoapResult",
0N~i/eaFXMN5}v0 "Snapshot=t1344414497.inf",
IZ4G6]7M$pC;rrY0 BEGIN_ARGUMENTS,
0bvY@.S,e_3at d0 "guid=111",
uJ%w6e8}a0 END_ARGUMENTS,51Testing软件测试网z0n[c;P
BEGIN_RESULT,
BnO6tV-j0 END_RESULT,51Testing软件测试网)|;r\x@
g.cO~4z
LAST);
e:}$p cxyQj+|051Testing软件测试网)q-`!Ie#@B$D'}Ff web_service_call( "StepName=down_102",
'j;Y\&s)q[|0 "SOAPMethod=T9EsbServiceService|T9EsbService|down",51Testing软件测试网,x b)~r~i$bl
"ResponseParam=response",51Testing软件测试网MZ4q/\%Ke/s;s
"Service=T9EsbServiceService",
)w/U;mSe s@vy0 "ExpectedResponse=SoapResult",
"S Uy\"O,Wc0 "Snapshot=t1344414875.inf",
L,zJe#d IPiNn\0 BEGIN_ARGUMENTS,
4O7^f ~G}^4Yn0 "guid={guid}",51Testing软件测试网/k*T;LUk
END_ARGUMENTS,
9@C4L1p Q
Y"O{0 BEGIN_RESULT,51Testing软件测试网vE\/I&z^
END_RESULT,
S2e Eq*U1S Q0 LAST);
#B]B+t2z` f0 return 0;51Testing软件测试网&a/b)x:`?vqH
}51Testing软件测试网;wXR@!wxRd1r