1、使用工具:

loadrunner12,本实例截图中都是loadrunner12工具

2、操作步骤:

1)、新建脚本,选择Web Services协议:

2)、选择工具栏:

3)、点击Import,输入wsdl地址:测试代码用的地址:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

4)、点击工具栏的Add Service Call:

5)、选择接口名称:

将返回数据保存到变量中:

6)、完成后,生成的原始代码如下:

Action()
{web_service_call( "StepName=getWeatherbyCityName_101","SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getWeatherbyCityName","ResponseParam=response","Service=WeatherWebService","ExpectedResponse=SoapResult","Snapshot=t1555599719.inf",BEGIN_ARGUMENTS,"theCityName=city_name",END_ARGUMENTS,BEGIN_RESULT,"getWeatherbyCityNameResult/*[1]=Param_string",END_RESULT,LAST);return 0;
}

7)、对接口请求进行完善,进行参数化,添加事务等操作

Action()
{int result;  //存放对比结果
        lr_start_transaction("获取城市天气预报");web_service_call( "StepName=getWeatherbyCityName_102",  //步骤名称"SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getWeatherbyCityName", //服务器名称|soap|获取的接口名称(城市天气预报)"ResponseParam=response", //返回的参数信息"Service=WeatherWebService",  //webservice服务"ExpectedResponse=SoapResult",  //请求返回"Snapshot=t1555558737.inf",  //快照BEGIN_ARGUMENTS,     //输入参数开始"theCityName={city_name}",  //请求输入END_ARGUMENTS, //结束参数BEGIN_RESULT,  //返回值的开始"getWeatherbyCityNameResult/*[2]=Param_string",  //返回的参数保存在Param_stringEND_RESULT, //返回值的结束
        LAST);result = strcmp(lr_eval_string("{city_name}"),lr_eval_string("{Param_string}"));  //对比输入参数是否与输出结果一致//判断是否相等if(result==0){lr_end_transaction("获取城市天气预报", LR_PASS);}else{lr_end_transaction("获取城市天气预报", LR_FAIL);}lr_output_message("result:%d",result);//将返回信息进行转码lr_convert_string_encoding(lr_eval_string("{response}"),"utf-8",NULL,"testruslt");lr_output_message("接口返回信息为:%s",lr_eval_string("{testruslt}"));return 0;
}

运行结果:

Starting iteration 1.
Starting action Action.
Action.c(6): Notify: Transaction "获取城市天气预报" started.
Action.c(8): Web service call "getWeatherbyCityName_102" started
Action.c(8): Web service call "getWeatherbyCityName_102" was successful
Action.c(28): Notify: Transaction "获取城市天气预报" ended with a "Pass" status (Duration: 0.4751 Wasted Time: 0.2191).
Action.c(35): result:0
Action.c(39): 接口返回信息为:<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><getWeatherbyCityNameResponse xmlns="http://WebXml.com.cn/"><getWeatherbyCityNameResult><string>直辖市</string><string>北京</string><string>54511</string><string>54511.jpg</string><string>2019/4/18 22:53:05</string><string>10℃/23℃</string><string>4月18日 多云</string><string>东北风转南风3-4级</string><string>1.gif</string><string>1.gif</string><string>今日天气实况:气温:12℃;风向/风力:西南风 3级;湿度:36%;紫外线强度:弱。空气质量:良。</string><string>紫外线指数:弱,辐射较弱,涂擦SPF12-15、PA+护肤品。
健臻·血糖指数:较易波动,血糖较易波动,注意监测。
穿衣指数:较舒适,建议穿薄外套或牛仔裤等服装。
洗车指数:较适宜,无雨且风力较小,易保持清洁度。
空气污染指数:良,气象条件有利于空气污染物扩散。
</string><string>10℃/17℃</string><string>4月19日 多云转小雨</string><string>南风小于3级</string><string>1.gif</string><string>7.gif</string><string>10℃/16℃</string><string>4月20日 小雨转多云</string><string>东北风转北风小于3级</string><string>7.gif</string><string>1.gif</string><string>北京位于华北平原西北边缘,市中心位于北纬39度,东经116度,四周被河北省围着,东南和天津市相接。全市面积一万六千多平方公里,辖12区6县,人口1100余万。北京为暖温带半湿润大陆性季风气候,夏季炎热多雨,冬季寒冷干燥,春、秋短促,年平均气温10-12摄氏度。北京是世界历史文化名城和古都之一。早在七十万年前,北京周口店地区就出现了原始人群部落“北京人”。而北京建城也已有两千多年的历史,最初见于记载的名字为“蓟”。公元前1045年北京成为蓟、燕等诸侯国的都城;公元前221年秦始皇统一中国以来,北京一直是中国北方重镇和地方中心;自公元938年以来,北京又先后成为辽陪都、金上都、元大都、明清国都。1949年10月1日正式定为中华人民共和国首都。北京具有丰富的旅游资源,对外开放的旅游景点达200多处,有世界上最大的皇宫紫禁城、祭天神庙天坛、皇家花园北海、皇家园林颐和园,还有八达岭、慕田峪、司马台长城以及世界上最大的四合院恭王府等各胜古迹。全市共有文物古迹7309项,其中国家文物保护单位42个,市级文物保护单位222个。北京的市树为国槐和侧柏,市花为月季和菊花。另外,北京出产的象牙雕刻、玉器雕刻、景泰蓝、地毯等传统手工艺品驰誉世界。</string></getWeatherbyCityNameResult></getWeatherbyCityNameResponse></soap:Body></soap:Envelope>
Ending action Action.
Ending iteration 1.

3、通过引入soap的方式,编写webservices接口,测试链接:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getWeatherbyCityName

      1)、将以上链接地址打开后,将一些部分代码复制粘贴到xml文件中:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getWeatherbyCityName xmlns="http://WebXml.com.cn/"><theCityName>string</theCityName></getWeatherbyCityName></soap:Body>
</soap:Envelope>

    2)、通过工具栏,引入soap:

3)、输入相关信息:

4)、代码经过处理后:

Action()
{int result;  //存放对比结果
    lr_start_transaction("获取城市天气预报");//lr_convert_string_encoding("北京",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"cityname");  //将中文的utf-8转换成lr的编码方式lr_convert_string_encoding(lr_eval_string("{send_city}"),NULL,"utf-8","cityname");lr_save_string(lr_eval_string("{cityname}"),"city_name");  soap_request("StepName=SOAP Request",  //步骤名称"URL=http://www.webxml.com.cn//WebServices/WeatherWebService.asmx",     //请求的url地址                                    "SOAPEnvelope="  //发送到服务器的xml包        "<?xml version=\"1.0\" encoding=\"utf-8\"?>""<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">""<soap:Body>""<getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">""<theCityName>{city_name}</theCityName>""</getWeatherbyCityName>""</soap:Body>""</soap:Envelope>",                                        "SOAPAction=http://WebXml.com.cn/getWeatherbyCityName",                                        "ResponseParam=response",     //存储服务器响应的输出参数的名称                                    "Snapshot=t1555584007.inf",                                        LAST);lr_convert_string_encoding(lr_eval_string("{response}"),"utf-8",NULL,"testruslt");lr_output_message("接口返回信息为:%s",lr_eval_string("{testruslt}"));lr_xml_get_values("XML={response}",  //获取返回消息体"Query=/Envelope/Body/getWeatherbyCityNameResponse/getWeatherbyCityNameResult/string[2]",  //对输入字符串xml的查找或快速查找,指定元素或属性"ValueParam=response_ctiy", //存储查询结果的输出参数的名称
                      LAST);//lr_output_message("返回的城市名称:%s",lr_eval_string("{response_ctiy}"));
     result = strcmp(lr_eval_string("{send_city}"),lr_eval_string("{response_ctiy}"));  //对比输入参数是否与输出结果一致//判断是否相等if(result==0){lr_end_transaction("获取城市天气预报", LR_PASS);}else{lr_end_transaction("获取城市天气预报", LR_FAIL);}return 0;
}

运行结果:

Starting iteration 1.
Starting action Action.
Action.c(6): Notify: Transaction "获取城市天气预报" started.
Action.c(11): SOAP request "SOAP Request" started
Action.c(11): SOAP request "SOAP Request" was successful
Action.c(31): 接口返回信息为:<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><getWeatherbyCityNameResponse xmlns="http://WebXml.com.cn/"><getWeatherbyCityNameResult><string>直辖市</string><string>北京</string><string>54511</string><string>54511.jpg</string><string>2019/4/18 23:14:10</string><string>10℃/23℃</string><string>4月18日 多云</string><string>东北风转南风3-4级</string><string>1.gif</string><string>1.gif</string><string>今日天气实况:气温:12℃;风向/风力:南风 3级;湿度:36%;紫外线强度:弱。空气质量:良。</string><string>紫外线指数:弱,辐射较弱,涂擦SPF12-15、PA+护肤品。
健臻·血糖指数:较易波动,血糖较易波动,注意监测。
穿衣指数:较舒适,建议穿薄外套或牛仔裤等服装。
洗车指数:较适宜,无雨且风力较小,易保持清洁度。
空气污染指数:良,气象条件有利于空气污染物扩散。
</string><string>10℃/17℃</string><string>4月19日 多云转小雨</string><string>南风小于3级</string><string>1.gif</string><string>7.gif</string><string>10℃/16℃</string><string>4月20日 小雨转多云</string><string>东北风转北风小于3级</string><string>7.gif</string><string>1.gif</string><string>北京位于华北平原西北边缘,市中心位于北纬39度,东经116度,四周被河北省围着,东南和天津市相接。全市面积一万六千多平方公里,辖12区6县,人口1100余万。北京为暖温带半湿润大陆性季风气候,夏季炎热多雨,冬季寒冷干燥,春、秋短促,年平均气温10-12摄氏度。北京是世界历史文化名城和古都之一。早在七十万年前,北京周口店地区就出现了原始人群部落“北京人”。而北京建城也已有两千多年的历史,最初见于记载的名字为“蓟”。公元前1045年北京成为蓟、燕等诸侯国的都城;公元前221年秦始皇统一中国以来,北京一直是中国北方重镇和地方中心;自公元938年以来,北京又先后成为辽陪都、金上都、元大都、明清国都。1949年10月1日正式定为中华人民共和国首都。北京具有丰富的旅游资源,对外开放的旅游景点达200多处,有世界上最大的皇宫紫禁城、祭天神庙天坛、皇家花园北海、皇家园林颐和园,还有八达岭、慕田峪、司马台长城以及世界上最大的四合院恭王府等各胜古迹。全市共有文物古迹7309项,其中国家文物保护单位42个,市级文物保护单位222个。北京的市树为国槐和侧柏,市花为月季和菊花。另外,北京出产的象牙雕刻、玉器雕刻、景泰蓝、地毯等传统手工艺品驰誉世界。</string></getWeatherbyCityNameResult></getWeatherbyCityNameResponse></soap:Body></soap:Envelope>
Action.c(33): "lr_xml_get_values" succeeded, 1 match processed
Action.c(46): Notify: Transaction "获取城市天气预报" ended with a "Pass" status (Duration: 0.2918 Wasted Time: 0.0522).
Ending action Action.
Ending iteration 1.

转载于:https://www.cnblogs.com/benben-wu/p/10733266.html

使用loadrunner编写webservice接口请求相关推荐

  1. 如何编写webService接口

    WebService接口代码的编写 如何编写一个webService接口,大家都知道webservice接口的好处可以跨平台来使用,在不同的编程语言之间可以实现,可以更容易的交互. 首先编写一个接口i ...

  2. loadrunner发送json_Loadrunner模拟JSON接口请求进行测试

    Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_request ...

  3. 如何访问webService接口

    在上篇的文章中我们接触到如何来编写webService接口,这篇文章我们将讲述的是如何来访问webService接口 首先比如这样的一个接口:http://127.0.0.1:11111/weathe ...

  4. spring整合cxf,轻松编写webService客户端、服务端

    WebService是一种跨编程语言.跨操作系统平台的远程调用技术,广泛应用在实际开发,接口实现,系统集成. 服务端 List item 添加maven依赖 项目中除了spring相关的依赖以外,还需 ...

  5. SpringBoot调用.asmx后缀的webservice接口

    目录 一.简介 二.示例 一.简介 最近在项目中,在与其他公司做对接中需要回调一个对方的接口,根据对方提供的接口地址, 发现是webservice的接口,而且接口后缀名为.asmx,因为现在webse ...

  6. jmeter压测学习47-发soap请求测试webservice接口

    前言 jmeter3 的版本可以新建一个SOAP/XML-RPC Request 的请求,直接测试webservice的接口. jmeter5.1.1 版本已经去掉了自带的SOAP/XML-RPC R ...

  7. ajax调用远程webservice,ajax跨域请求调用webservice接口

    最近忽然想学习webservice,一直不知道如何跨域调用调用.若是都在同一个项目,相信你们都知道了?特此整理一下关键点,权当学习.javascript 1.WebService 接口编写.这里不在赘 ...

  8. 使用Fiddler调用WebService接口,模拟发HTTP请求

    1.百度一个免费WebService接口 如:天气预报http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 其下有一个方法 2.打开F ...

  9. Java通过soap1.1请求webservice接口

    首先获取到soap接口的wsdl地址,通过soapUI工具打开. 前提需要在配置的插件工具配置axis地址,axis-1_4可在我的资源里下载. 选择导出包的位置,生成代码. 将代码复制到java项目 ...

最新文章

  1. Zookeeper架构
  2. 阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
  3. axure中怎么做出固定首行_办公软件操作技巧078:如何在excel表格中冻结行与列...
  4. 指针数组,数组指针,函数指针,main函数实质,二重指针,函数指针作为参数,泛型函数
  5. mysql5 varchar_MYSQL 5.7 VARCHAR 类型实验
  6. c++ dll 类使用_在.Net Core 中使用钩子
  7. 04.React事件 方法、 React定义方法的几种方式 获取数据 改变数据 执行方法传值...
  8. Windows7 Xp Mode部署与讲解
  9. element UI框架Fr Cover主题插画下载模板V2.0
  10. 花书 —— 机器学习基础
  11. cesium添加填充_cesium编程中级(四)使用渐变纹理
  12. 分析及解决SQLServer死锁问题
  13. STM32F1下载程序方法
  14. Software.Cradle.Suite.V11 X64 热流体模拟软件
  15. 视频教程-Windows程序设计应用开发-C/C++
  16. Ubuntu20.04开启night夜间模式保护视力
  17. Think in Java 4 中关于使用XOM操作xml文件
  18. 小米怎么快速回到顶部_拆解报告:小米小爱鼠标采用炬芯ATB110X蓝牙物联网方案 -...
  19. 网络文件系统——上(samba,NFS,实现网络共享文件)
  20. Android高仿网易云音乐播放界面

热门文章

  1. 【Luogu】P3343地震后的幻想乡(对积分概率进行DP)
  2. vue 入门环境搭建
  3. PHP中header函数的用法及其注意重点是什么呢
  4. IBM SOA[ESB,BPM,Portal等]基础架构图解
  5. HDOJ树形DP专题之Centroid
  6. Android——Ubuntu android NDK 配置
  7. 书写README的各种markdown语法
  8. springboot_yml配置
  9. U(优)盘安装FreeBSD-9.0+GNOME_lite桌面
  10. 兼容性记录-class属性