测试管理,自动化测试、手机客户端测试、wap站点测试研究

WebService性能测试研究(原创)

上一篇 / 下一篇  2009-06-28 12:21:26 / 个人分类:自动化测试

WebService性能测试研究

QJ`zi+Y0

黄进青2009-3-31

3q9Y%q u?5L]krt0

1 概述

在某项目中,遇到手机客户端与服务器端交互的性能测试问题,其实现方式为手机客户端与服务器端通过webservice进行交互,如下:51Testing软件测试网 k#ry;j^5]x

51Testing软件测试网\#i Z+r ^_yH}

Rq9f"V8`u0

2 性能测试策略

使用工具模拟多用户进行webservice在手机客户端和服务器端的交互。

1yuz)Baf9uB0

3 测试工具

LoadrunnerSoupUI

g*{(x\ZV:`0

4 Loadrunner进行webservice测试

4.1  访问url,将网页保存为wsd文件

http://10.192.17.40/PanasonicQR/MobileService/UploadInventoryService?wsdl

%U tT-h cH6{0

Q;l[-dH6FN0

51Testing软件测试网6U3|&g(V*_ ]

4.2  新建脚本

4.3  问题

按照上面的步骤执行脚本,发现有错,提示信息如下:

(K;i e c,PAI4@0

51Testing软件测试网*L Qi;[Nj

Bjif1jT0

该问题暂时无法解决,需要再进一步的研究,现用soap_request函数实现webservice的测试。

&}0Zv Sv ^F.kz7z0

4.4  实现webservice测试

使用web_add_header(用户添加webservice头)、soap_request(用户向服务器发送webservice请求)、lr_convert_string_encoding(用于将webservice请求的XML转换为UTF-8格式,必须要转换为UTF-8格式,否则在请求的XML中如果含有中文字符的话将会请求失败)、和lr_eval_string(用于向soap_request函数传递转换后的UTF-8格式参数值)函数实现webservice测试,代码如下:51Testing软件测试网/U4`w2x#V f

Action()

peLH)]-z0

{51Testing软件测试网fE!|O$Ew*t

intrc = 0;51Testing软件测试网2g]!MBp#v

unsigned longconverted_buffer_size_unicode = 0;51Testing软件测试网_cg(|],s }G+g8C{

char*converted_buffer_unicode = NULL;51Testing软件测试网7Tx2^)E1I N

char*strnew = NULL;51Testing软件测试网&a$oR V pn-Ek;V

 

Gy K&xb0

web_add_header("SOAPAction",

9SBI|3uB0

             "\"\"");51Testing软件测试网9o#}9YN!quJV

web_add_header("User-Agent",51Testing软件测试网k OcvW0n,@CSWs

             "Jakarta Commons-HttpClient/3.1");

*Z&ZcB(?![4w3H0

web_add_header("Content-Type",51Testing软件测试网^)@']Rs Z/~"p

             "text/xml;charset=UTF-8");51Testing软件测试网%m!E(bD0_Lq

 51Testing软件测试网 WU\j$V Q

strnew= "SOAPEnvelope= <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://webservice.qr.ufmobile.cn/\">  <soapenv:Header/>  <soapenv:Body>     <web:uploadException><arg0>{NewParam_1}</arg0><arg1>number</arg1><arg2>有实物无帐</arg2><arg3>该产品没有入账</arg3><arg4>77804179</arg4><arg5>huangjq</arg5><arg6>96</arg6></web:uploadException></soapenv:Body></soapenv:Envelope>";51Testing软件测试网J \:fk2LG)@(GQ$k

 51Testing软件测试网:i/J \V qn#]1r

rc =lr_convert_string_encoding(strnew,

RCz(AeA0

      LR_ENC_SYSTEM_LOCALE,

;[cs`s[ J0

      LR_ENC_UTF8,51Testing软件测试网0C;{%d!X2f{#p1y

      "new");51Testing软件测试网 yx7zQ7i w*UJ2Fm`

 

+uAz3}G0

//上传异常盘点信息51Testing软件测试网,[(hL}I7?

soap_request("StepName=login",

u(~aN-v |0

"URL=http://10.192.17.40/PanasonicQR/MobileService/UploadInventoryService",

G+Jn7A.e0

             lr_eval_string("{new}"),51Testing软件测试网B:Wk(G*`Dq

             "Snapshot=t1.inf",

%S*Pf,L'k0

             "ResponseParam=result",51Testing软件测试网L8v V!U]F"s(H

             LAST);

5fK/eL1ZdK0

      return0;

-I$rI1LC^0

}

)G4b&?~u @1Q0

4.5  日志查看

Run-time中设置Log显示方式,显示更多的日志,以便追踪脚本运行状况。51Testing软件测试网9dUXvT5d2YjV

51Testing软件测试网\ X~-W yd {(iV

4.6  模拟多用户并发测试

LoadrunnerWebservice测试licenseAEAMAUIK-YAFEKEKJJKEEA-BCJGI

A0v7jc9Sl8w Kk#g0

缺点:该license最多只支持100个用户并发测试。

tC%KR4p)B)V0

5 SoupUI

5.1 新建项目

项目对应url格式为:51Testing软件测试网)E#N E*hw"[[ oP"m

http://10.192.17.3/PanasonicQR/MobileService/UploadInventoryService?wsdl51Testing软件测试网HsT|;d

1zb }'y$Ctj4D0

a;n-?F `q5I D0

5.2 运行方法,提交请求

51Testing软件测试网"QdH8zPxnQ0EEK"|

5.3Testsuite

J{CI _$?)B0

5.4   Loadtest

51Testing软件测试网N'GR8L2l&i

通过线程数虚拟多个用户进行测试。51Testing软件测试网'e^t6q&v;Ojm

W1kjeM1Sa0

8t#^m`;E;p0 

$A{ ZW^~#H0u0

4P0Sv&a$] l9H0

Xf(ThB6y^3I:O0(说明:本文章为本人原创,如需转载请注明出处,谢谢!)51Testing软件测试网 } T_lu


TAG:

黄进青的个人空间 引用 删除 junqinghuang   /   2009-08-19 10:00:54
由于后来没有时间再研究,所以当前还不知道具体的原因。建议你采用4.4的方式实现性能测试
原帖由huangjiajun622于2009-08-17 17:39:22发表
学到了很多!请楼主帮忙解释一下4.3出的问题是怎么解决的啊!谢谢!
huangjiajun622的个人空间 引用 删除 huangjiajun622   /   2009-08-17 17:39:22
学到了很多!请楼主帮忙解释一下4.3出的问题是怎么解决的啊!谢谢!
langwx520--点滴--积累 引用 删除 langwx520   /   2009-08-04 11:48:22
学习
xingzunxi的个人空间 引用 删除 xingzunxi   /   2009-07-02 11:53:08
厉害
cauivy的个人空间 引用 删除 cauivy   /   2009-07-01 15:36:18
受益匪浅,多谢
jenvee Testing 引用 删除 jenvee   /   2009-06-29 21:45:37
学习
 

评分:0

我来说两句

Open Toolbar