使用lr 测试webservice 接口(以天气预报为例):
1. 创建web Services 脚本
2 脚本运行结果
取其中一个结果:
点击“viw tree”
将值保存为一个参数或者xml, 会自动生成如下代码:
lr_xml_get_values("XML={response}",
"FastQuery=/Envelope/Body/getSupportProvinceResponse/getSupportProvinceResult/string[4]",
"ValueParam=province_param",
LAST);
再次运行脚本:
// 根据省份名称查询城市名称
web_service_call( "StepName=getSupportCity_103",
"SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getSupportCity",
"ResponseParam=response",
"Service=WeatherWebService",
"ExpectedResponse=SoapResult",
"Snapshot=t1492766327.inf",
BEGIN_ARGUMENTS,
"byProvinceName={ParamValue_string}",
END_ARGUMENTS,
BEGIN_RESULT,
END_RESULT,
LAST);
// 获取响应中想要的城市信息
lr_xml_get_values("XML={response}",
"FastQuery=/Envelope/Body/getSupportCityResponse/getSupportCityResult/string[5]",
"ValueParam=cityname_str",
LAST);
// Action.c(63): Notify: Parameter Substitution: parameter "cityname_str" = "海拉尔 (50527)"
// 获取城市的名称,截取字符串 “海拉尔”
lr_save_var( lr_eval_string("{cityname_str}"), 6, 0, "cityname");
lr_save_var()函数说明:
1.一个中文代表两个字符
2.第一个参数(海拉尔 (50527)) 代表从第几个字符截取(默认0), 第二个参数代表截取的字符长度,第三个参数代表字符串从第几位开始计算,第四个参数代表截取之后的字符串名称。
// 根据城市名称查询城市的天气预报
web_service_call( "StepName=getWeatherbyCityName_103",
"SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getWeatherbyCityName",
"ResponseParam=response",
"Service=WeatherWebService",
"ExpectedResponse=SoapResult",
"Snapshot=t1492766426.inf",
BEGIN_ARGUMENTS,
"theCityName={cityname}",
END_ARGUMENTS,
BEGIN_RESULT,
END_RESULT,
LAST);