zoukankan      html  css  js  c++  java
  • SoapUI 之 webService 接口测试 [5]

    一、webservice接口实例说明

    学习的话,大家可以自行到网上找 一些免费的webservice接口来练手。本文中选择实例为:中国电视节目预告(电视节目表) WEB 服务。

    Endpoint : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx

    Disco : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?disco

    WSDL : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl

    浏览器输入:http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx 即可获取到这个接口的相关说明,以下简单罗列下这个接口的相关业务。

    [第一步] getAreaDataSet: 获得支持的省市(地区)和分类电视列表 DataSet。

    输入参数:无;返回数据:DataSet,结构为:Item(areaID)=省市和分类电视ID,Ietm(Area)=省市和分类电视名称,Item(Zone)=所属地区。

    [第二步] getTVstationDataSet: 通过省市ID或分类电视ID获得电视台列表 DataSet

    输入参数:theAreaID = 省市ID或分类电视ID(Integer);返回数据:DataSet,结构为:Item(tvStationID)=电视台ID,Ietm(tvStationName)=电视台名称。

    [第三步] getTVchannelDataSet : 通过电视台ID获得该电视台频道列表 DataSet

    输入参数:theTVstationID = 电视台ID(Integer);返回数据:DataSet,结构为:Item(tvChannelID)=频道ID,Ietm(tvChannel)=频道名称。

    [第四步] getTVprogramDateSet : 通过频道ID获得该频道节目列表 DataSet

    输入参数:theTVchannelID = 频道ID(Integer),theDate=日期(String 格式:yyyy-MM-dd,如:2007-07-02,空则默认当天),userID=商业用户ID(String 免费用户不需要);返回数据:DataSet,结构为:Item(playTime)=播出时间,Ietm(meridiem)=PM或AM,Ietm(tvProgram)=节目信息,Item(tvStationInfo)=电视台信息。


    二、创建soap项目,运行单个接口,能否跑通

    1、右键Projects -->New SOAP Project ,在弹框界面的“initial WSDL” 输入实例的WSDL地址,点击ok。


    2、[第一步]getAreaDataSet请求。参数无,点击运行,获得支持的省市(地区)和分类电视列表。


    3、[第二步] getTVstationDataSet请求。参数输入[第一步]获取到的areaID:18(想查看湖南地区的,所以输入18),点击运行,获得电视台列表。


    4、[第三步] getTVchannelDataSet请求。参数输入[第二步]获取到的tvStationID:98,点击运行,获得该电视台频道列表。


    5、[第四步] getTVprogramDateSet请求。theTVchannelID输入[第三步]获取到的tvChannelID:290、theDate输入2019-11-11、userID没有商业用户选择不输入。点击运行,获得该频道节目列表。


    三、构建测试用例,进行脚本优化,执行测试用例

    1、右键 ChinaTVprogramWebService 工程-->New TestSuite,右键TestSuite-->New TestCase。

    将上面第一步到第四步的request请求,拖动添加到Test Steps中,按第一步~第四步调整request请求的顺序如下。


    2、第二、三、四步参数输入都依赖到了上一步的返回结果,这里进行下Property Transfer设置。

    1) [第二步]getTVchannelDataSet请求。需要传入上一个请求获取到的areaID,这里插入Property Transfer进行如下设置:

    这里说明下Source跟Target的XPath表达式是怎么来的:

    a、获取到getAreaDataSet的response进行分析如下:

    b、获取到getTVstationDataSet的request进行分析如下:

    2) [第三步]getTVstationDataSet请求。需要传入需要传入上一个请求获取到的tvStationID,这里Property Transfer进行如下设置:

    3) [第四步]getTVstationDataSet请求。需要传入上一个请求获取到的tvChannelID,这里Property Transfer进行如下设置:


    3、继续优化脚本,将最后一个getTVstationDataSet请求中传入的theDate参数进行变量设置,并且进行变量引用

    a、右键Test Steps-->Add Step-->Properties,然后设置变量date及赋值

    b、双击getTVstationDataSet请求,将theDate传值为${Properites#date}

    4、双击执行TestCase,测试完成。可自行查看测试结果。

  • 相关阅读:
    线程的资源释放(一)
    iOS开发完整项目
    iOS开发多线程技术方案
    Windows 7 Beta泄漏版存在安全问题 狼人:
    工信部:黑客入侵等是网络安全防护工作的重点 狼人:
    微软下周2将发布13个补丁 修复26个安全漏洞 狼人:
    调查显示互联网14%SSL认证不安全 狼人:
    09年恶意软件放缓 2010年共享最危险 狼人:
    IE曝新安全漏洞 千万网民隐私遭受威胁 狼人:
    安全关注:2009年信息安全八大预测 狼人:
  • 原文地址:https://www.cnblogs.com/tudou-22/p/11855794.html
Copyright © 2011-2022 走看看