欢迎j进入我的个人知识库,这里大多是我从网络搜集的对我有用的资料,有些是我个人的备忘记录,希望对你也有用! 我关注的:1. 测试技术 ;2. 编码技术 ;3. 数据库技术 ;4. 计算机网络技术 ;5. 计算机原理;

【转】WebService性能测试研究

上一篇 / 下一篇  2010-12-15 11:31:49 / 个人分类:测试-性能

转自:http://www.51testing.com/?uid-65519-action-viewspace-itemid-133200

1 概述

在某项目中,遇到手机客户端与服务器端交互的性能测试问题,其实现方式为手机客户端与服务器端通过webservice进行交互,如下:51Testing软件测试网 H!j)}4O4|(D

2 性能测试策略

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

3 测试工具

LoadrunnerSoupUI

4 Loadrunner进行webservice测试

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

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

4.2  新建脚本

4.3  问题

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

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

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

Action()

{intrc = 0;

unsigned longconverted_buffer_size_unicode = 0;

char*converted_buffer_unicode = NULL;

char*strnew = NULL; 

web_add_header("SOAPAction",

             "\"\"");

web_add_header("User-Agent",

             "Jakarta Commons-HttpClient/3.1");

web_add_header("Content-Type",

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

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

rc =lr_convert_string_encoding(strnew,

      LR_ENC_SYSTEM_LOCALE, 

      LR_ENC_UTF8,

      "new");

//上传异常盘点信息

soap_request("StepName=login",

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

             lr_eval_string("{new}"),

             "Snapshot=t1.inf",

             "ResponseParam=result",

             LAST);

      return0;

}

4.5  日志查看

Run-time中设置Log显示方式,显示更多的日志,以便追踪脚本运行状况。

4.6  模拟多用户并发测试

LoadrunnerWebservice测试licenseAEAMAUIK-YAFEKEKJJKEEA-BCJGI

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

5 SoupUI

5.1 新建项目

项目对应url格式为:

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

5.2运行方法,提交请求

5.3Testsuite

5.4   Loadtest

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


TAG: 性能测试 webservice WebService

candyzc的个人空间 引用 删除 candyzc   /   2011-07-19 16:22:18
5
 

评分:0

我来说两句

Open Toolbar