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

WebService性能测试研究(原创)

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

WebService性能测试研究

Izwj)x"gH&Z'd0d0

黄进青2009-3-3151Testing软件测试网@,_eJF3w%q|

1 概述

在某项目中,遇到手机客户端与服务器端交互的性能测试问题,其实现方式为手机客户端与服务器端通过webservice进行交互,如下:

[flK&G8J@Z0

51Testing软件测试网#qkb8Mu"l

2Fn;i h8P6Jq pV1F0

2 性能测试策略

使用工具模拟多用户进行webservice在手机客户端和服务器端的交互。51Testing软件测试网%V3\0A`(E2x"frx

3 测试工具

LoadrunnerSoupUI51Testing软件测试网r*nf.T#Y9L9k.l/[

4 Loadrunner进行webservice测试

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

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

fRVf,Rua Qf0

51Testing软件测试网 H L8S(l){4Z1F

Q:^:x,H4D0

4.2  新建脚本

4.3  问题

按照上面的步骤执行脚本,发现有错,提示信息如下:51Testing软件测试网N;^Nq ? YZ ^+I"K$x)?5}

51Testing软件测试网}{0A"o.TA(S5j[*K

R'N;?x9b f0

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

{6rdm9^6K j$Gv:w8K9a0

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测试,代码如下:

wBrC;u5`@(UtU0

Action()51Testing软件测试网 EN5El],a:J%~7w_

{51Testing软件测试网b|V%Tuc2x-_ x

intrc = 0;

0M+_QP-g I0

unsigned longconverted_buffer_size_unicode = 0;

VYu1h@1F'Q3DY a0

char*converted_buffer_unicode = NULL;

R/`1S!\ AKh0

char*strnew = NULL;51Testing软件测试网 `h h"o!y

 51Testing软件测试网zIIg a C ZnJ

web_add_header("SOAPAction",51Testing软件测试网n2dgF(@m P&Em2sm

             "\"\"");

` icT}rA0

web_add_header("User-Agent",51Testing软件测试网g(ZH(Av8j,~

             "Jakarta Commons-HttpClient/3.1");51Testing软件测试网%^X-lb+v"v"h

web_add_header("Content-Type",51Testing软件测试网P1qWl+lm2~

             "text/xml;charset=UTF-8");

7vE7jQv9BO!d0

 

u-j1r }}f0

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>";

7GXtDA)_3d0

 51Testing软件测试网'E4[/s-FBy#T P.Y

rc =lr_convert_string_encoding(strnew,51Testing软件测试网3t`yf@^.Z6\T4Z?

      LR_ENC_SYSTEM_LOCALE,

vV{_M(`!n0

      LR_ENC_UTF8,

%Ku(z!K'b)@0

      "new");51Testing软件测试网:wm PvgK

 

ws(s tQ2VhfF0

//上传异常盘点信息51Testing软件测试网-wot Kb2f6Ei

soap_request("StepName=login",

!i1t%P Uw0

"URL=http://10.192.17.40/PanasonicQR/MobileService/UploadInventoryService",51Testing软件测试网:Cx {/o V9W

             lr_eval_string("{new}"),

A)T7[o Ss0

             "Snapshot=t1.inf",

6WL*`&J3vu0

             "ResponseParam=result",

/She4I4@OF0

             LAST);

@P oo[N0

      return0;

:EFf/l7J${0

}51Testing软件测试网vi5L(v(G_

4.5  日志查看

Run-time中设置Log显示方式,显示更多的日志,以便追踪脚本运行状况。51Testing软件测试网#H9?H['d

@no:{ nf7z Q0tix0

4.6  模拟多用户并发测试

LoadrunnerWebservice测试licenseAEAMAUIK-YAFEKEKJJKEEA-BCJGI

Ybpe/F0

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

&qFy&{xc0

5 SoupUI

5.1 新建项目

项目对应url格式为:51Testing软件测试网 MN i [S pY/Qn

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

D/d5etrdm k0

51Testing软件测试网"I2p0tH:uPK4|P

51Testing软件测试网 dR/s'@K/]

5.2 运行方法,提交请求

51Testing软件测试网|(~+tH#`*V-_8A*}

5.3Testsuite

51Testing软件测试网N!{pNo3z:S_

5.4   Loadtest

51Testing软件测试网)Ls1km6X-q'hL

通过线程数虚拟多个用户进行测试。

c2Q1l7Gq dF0

51Testing软件测试网fu6cDL:E}:W+r w

51Testing软件测试网P6xH MW/y ]|0h

 

wWI'Gm I`0

L)Sz#On-?Fk051Testing软件测试网t.TO4`'}t [;]

(说明:本文章为本人原创,如需转载请注明出处,谢谢!)

&ZN'hX/RF0g8s6u&DH0~0

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