loadrnner 之webservice脚本开发

来源:互联网 发布:柔宇科技工资高吗 知乎 编辑:程序博客网 时间:2024/06/05 06:33

最近在腾讯课堂上发现老师讲的利用webservice,http,socket三种协议进行接口调用,觉得讲的挺好就整理出啦,首先是webservice接口调用

webservice接口调用是用天气查询服务进行距离具体接口地址:

Endpoint: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
Disco: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?disco
WSDL: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

查询界面


查询接口只有一个参数theCityName,输入要查询的地址天气,例如“南京”,查询返回报文信息


下面就利用loadrunner11  webservice协议来实现这个接口的调用,首先新建一个脚本,选择‘webservice’协议


然后倒入接口连接,注意这里要输入的是wsdl链接


链接倒入成功之后,LR会自动检测出接口的服务名称以及所属的方法,选择我们要测试的方法名称名输入参数“南京”


点完成之后生成webservice脚本,先执行一次脚本发现接口调用成功,检查返回的报文发现有乱码出现,这是因为返回报文格式码与LR本机格式码不一致导致的



现在我们用lr_convert_string_encoding()这个函数把返回的报文进行格式转换:lr_convert_string_encoding( lr_eval_string("{response}"),//由于查询结果返回的报文“”ResponseParam“”保存在response这个参数中,,所以要不返回结果取出来
LR_ENC_UTF8,//报文原格式为utf-8
LR_ENC_SYSTEM_LOCALE,//转换为本机格式
"r_response");//转换之后的结果保存在r_response这个参数中


lr_message("r_response is %s",lr_eval_string("{r_response}"));//把转换之后的报文结果打印出来,再次执行,返回报文中无乱码


同样我们使用soapUI工具同样能实现接口的调用,新建工程,输入wsdl,系统自动检测服务下的接口,选择我们要测试的接口输入参数,同样可以实现接口调用




1 0