Web Service性能测试实战.docx
WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API,目前WebService在系统开发中使用越来越广泛,现在以一个实际的WebService来向大家讲述我们的LoadRunner脚本书写情况。
具体的LoadRunner性能测试步骤如下:
1、选择webservice协议,选择【扫描wsdl】
2、输入URL/WebServices/WeatherWebService.asmx?wsdl
要加“WSDL”
3、获取接口,选择测试的方法,输入值或参数化,输出值的保存
4、输出值的保存
5、完成方法设置后生成脚本,可以对运行时设置(切记:设置客户端仿真:MSSOAP,若默认设置则回放可能会失败)
6、完成后的测试脚本:
Action()
Action()
{
lr_rendezvous(city);
lr_start_transaction(city);
web_service_call(StepName=getSupportCity_103,SOAPMethod=WeatherWebService.WeatherWebServiceSoap.getSupportCity,
ResponseParam=response,
WSDL=/WebServices/WeatherWebService.asmx?wsdl,UseWSDLCopy=1,
Snapshot=t1249287725.inf,BEGIN_ARGUMENTS,
byProvinceName=={city},END_ARGUMENTS,BEGIN_RESULT,
getSupportCityResult/*[1]=Param_string,
END_RESULT,
LAST);
lr_end_transaction(city,LR_AUTO);
lr_think_time(3);
lr_save_var(lr_eval_string({Param_string}),4,0,department);
//把获取的城市作为参数输入,获取城市天气
//获取的参数有代码(合肥58321),使用lr_save_var(),取前两个汉字
lr_start_transaction(weather);
web_service_call(StepName=getWeatherbyCityName_103,SOAPMethod=WeatherWebService.WeatherWebServiceSoap.getWeatherbyCityName,
ResponseParam=response,WSDL=/WebServices/WeatherWebService.asmx?wsdl,UseWSDLCopy=1,
Snapshot=t1249287726.inf,BEGIN_ARGUMENTS,
theCityName={department},END_ARGUMENTS,BEGIN_RESULT,END_RESULT,
LAST);
lr_end_transaction(weather,LR_AUTO);
lr_think_time(3);
return0;
}
7、大家注意观察该脚本。脚本完成的测试点为:集合点,事务,思考时间,参数保存,参数化。当然你还可以添加xml检查点,这里就不详述了。
8、在这里我只想讲述lr_save_var,这里我们将上一个接口返回了的值保存下来赋给另一个变量值department,在下面一个接口中,我们就紧接着使用到了这样的一个值department。那么这个其实就是WebService的关联技术,这是与我们Web测试关联所不一样的地方。