偶是测试新手,希望前辈们能多多指教。

基于WebService的性能测试方法

上一篇 / 下一篇  2009-07-02 18:07:21 / 个人分类:WebService性能测试

  

    我们需要测试的webserivce 分两种情况:带有soapheader,需要进行并发性能测试;不带有soapheader,需要进行单线程的大数据量测试,一个请求接着一个请求的发送。

    现在的公司是做电信增值业务的。通过在客户端构建的用户对象,对所需的业务进行soapheader 的验证后,再由webserivce 传递到服务器端,服务器接收到数据后,在电信的后台服务器中进行业务处理,再将处理后的结果通过webserivce 返回给客户端。

 测试环境:

 测试PC(一台LoadRunner测试主控台+N台负载生成器)、WebService服务器、业务管理服务器、数据库服务器

  录制脚本:
1.打开“Virtual User Generator”。
2.New一个virtual user,选择“Web Services”,点击“ok”。

3。在弹出的脚本页面,选择“ ScanWSDL”,在URL 中输入要测试的webseri
vce URL,点击“下一步”。

4.点击“Open Validation Report”来验证URL的有效性,点击“下一步”

5.选择你要测试Methods,点击“下一步”

6.输入Specify argument values,点击“下一步”。

7.勾选“Run script. after generation”

8.设置“ run-time-settingwebserivceClient Emulation.Net”点击“完成”,
loadrunner 将会自动产生脚本。

9.soapheader 的添加
在script. View 模式中可以看到在刚才录制完后,脚本回放成功,但是这并不
代表你的webserivce 的功能正确,你需要查看所保存脚本文件夹目录下\result1\Iteration1\t1.xml 中的response 来判断request 是否成功。如果提示无效的验证错误,这是因为你未输入soapheader 造成的,那么我们需要自己编写一段脚本来添加soapheader:

即:SOAPHeader=<soap:Header xmlns=\"http://bell.ca/vas/getServiceStatus\"><
AuthenticationHeader><Username>user</Username><Password>pass</Password></
AuthenticationHeader></soap:Header>并保持在一行

再次回放,查看\result1\Iteration1\t1.xml 中的response 是否返回success。

(另外介绍一下不带有soapheader的在录制时需要注意的地方:

需要在run-time-settingwebserivceClient EmulationMS soap 进行设置。)

脚本的加强

在脚本中添加事务与集合点,参数化部分参数,并且屏蔽掉lr_think_time(3),因为这会影响性能测试结果

(不带soapheader的不需要要设置事务和集合点,因为模拟的是单线程测试情况,只需要屏蔽掉lr_think_time(3)。)

运行场景

在run-time-settings 中

持续发送情况下:选择pacing As soon as the previous iteration ends

间隔相同时间发送情况下:选择pacing After the previous iteration endsFi
xed输入设置时间

间隔不同时间发送情况下:选择pacing AtRandom输入设置时间

 

 

 


TAG:

引用 删除 葙a   /   2012-05-22 17:31:11
5
 

评分:0

我来说两句

Open Toolbar