zoukankan      html  css  js  c++  java
  • SoapUI:入门实例

    这一章中我们要掌握如下内容:

    1)         构建项目;

    2)         运行单个请求;

    3)         构建测试用例;

    4)         接口之间传递参数,组织测试步骤;

    5)         运行整个测试用例。

    接口实例:

    1.1       构建项目

     

    File > New SOAP Project,输入WSDL( 可以是URL 也可以是wsdl 的静态文件):http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl

    如下图输入WSDL后,构选上“Create Requests”项目会根据WSDL文件创建接口请求文件;构选上“Create TestSuite”就会给WSDL创建一个测试套件(这里我们不构选,稍后再另外新建测试套件)。

     

    如下图所示,根据Soap 的版本不同提供了两种接口。

     

    getAreaDataSet (获 得支持的省市(地区)和分类电视列表)、

    getTVstationDataSet (通 过省市ID 或分类电视ID 获得电视台列表)、 

    getTVchannelDataSet (通过电视台ID 获得该电视台频道列表)、

    getTVprogramDataSet (通 过频道ID 获得该频道节目列表)

    注意:最后三个接口是需要输入参数的,如下图所示,接口getTVchannelDataSet  的请求中“?”表示要入参

     

    1.2       运行单个请求

    如下图所示,打开request 点击绿色运行按钮运行即可。

     

    要入参的请求,直接把值写在请求中即可,如下图所示输入“-1”(本实例中-1代表中央电视台)。

     

    1.3       构建测试用例

    1)         创建测试套件:选择项目“ChinaTV”右键点击“New TestSuite”,如下图所示

     

    2)         创建测试用例Test case:如下图,选择测试套件“myTestSuite”右键点击“New TestCase”

     

    如下图所示,新建的TestCase中包含三个部分,我们的功能测试只需要关注Test Steps即可。

     

    3)         把请求添加到测试用例中:如下图所示,选择一个请求,然后右键点击“Add to TestCase”,然后在弹出窗口中选择我们刚才新建的"myTestCase"即可。

     

    添加完成如下图所示,这样我们拥有了第一个测试用例

     

    4)         运行测试:如下图所示,打开TestCase窗口,点击绿色运行按钮即可。

     

    右下方为运行结果。

    1.4       增加检查点

    在测试步骤中打开服务求请求,如下图所示

     

    如下图所示,有7种断言类型可以选择(Recently used为你最近使用过的断言)。这里我们选择“Property Content”下的Contains,这是根据返回的属性内容设置检查点。

     

    设置检查内容,如下图所示“中央电视台”

     

    然后运行服务请求,如下图所示,在“Assertions”窗口中可以看到“myAssertion - VALID”说明检查点是有效的。

     

    1.5       传递参数,组织测试步骤

    将getAreaDataSet (获 得支持的省市(地区)和分类电视列表)、

    getTVstationDataSet (通 过省市ID 或分类电视ID 获得电视台列 表)、 

    getTVchannelDataSet (通过电视台ID 获得该电视台频道列表)、

    getTVprogramDataSet (通 过频道ID 获得该频道节目列表)依次加入到TestCase 1 的测试步骤中去,然后组织测试步骤获取“CCTV-1 ”的节目列表。

    具体的测试步骤为:

    1)         获得“中央电视”的分类ID “-1 ”

    2)         获取“中央电视”类别中 的“中央电视台”ID :“39 ”

    3)         获取“中央电视台”的频 道“CCTV-1 ”ID :“606 ”

    4)         获取“CCTV-1 ”频道的节目列表 如下图所示:

     

    下面我们需要将服务请求getAreaDataSet 结果中的“中央电视”ID “-1 ”作为服务请求getTVstationDataSet 入 参。

    右键“getAreaDataSet ”> Insert Step > Property Transfer

     

    这个Property Transfer 用于两个服务请求间的交互,我们将其命名为:“AreaTransfer ” ,如下图所示,点击新建一个传参叫“areaID”

     

    生成“areaID”中的Source和Target都是空的,需要我们自己写。如下图,sourcet和Target中的“path language”我都选择了“XPath”(因为我只会XPath)。

     

    注意:XPath的前面需要先声明命名空间(declare namespace),这个要与SOAP 消息中的命名空间对应。如我命名的diffgr与request中的一样

     

    找XPath的时候有个小技巧,我们可以把请求信息或响应信息存为“.xml”文件,然后在Firefox中打开,通过firebug获取。其实soapUI是可以通过查找目录参数,然后自动生成xpath的,不过我装的soapUI不知道为什么没有显示出xpath图标。别人的property transfer长相如下:

     

    同样的操作步骤,我们组织好其他几个服务请求间的交互,就组织 完成了一个完整的测试步骤,如下图所示:

     

    1.6       运行测试

    整个测试步骤设置好之后,打开“myTestCase”运行测试,如下图所示,全部绿色表示测试通过:

     

    在TestCase Log中还可以看到接口之间传递的参数值,如下图所示:

     

    运行结束后,再打开接口请求,可以看到请求显示的就是所传递的值,如下图所示:

     

    当接口测试不通过时,在测试步骤和日志中会显示红色,如下图所示,在最后的结果中我设置了一个文本检查点“朝闻天下”没有找到,测试不通过:

     

    单独打开“getTVprogramDateSet”看了一下,原来是免费次数用完了!哈哈……。

  • 相关阅读:
    ORACLE AWR 和 ASH
    11g RAC R2 日常巡检--Grid
    Linux中重命名文件
    Xshell4连接Linux后 win快捷键锁屏
    vim 删除临时文件
    shell--read命令
    shell基础篇(一)从hello world开始
    ORACLE--分区表数据清理
    Shell—学习之心得
    awk 手册--【转载】
  • 原文地址:https://www.cnblogs.com/helenMemery/p/6297042.html
Copyright © 2011-2022 走看看