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

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”看了一下,原来是免费次数用完了!哈哈……。

SoapUI:入门实例的更多相关文章

  1. SoapUI入门实例

    一.Soapui介绍 WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数.参数和返回值.它是WebSer ...

  2. SoapUI简介和入门实例解析

    SoapUI简介 SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Ecl ...

  3. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  4. struts入门实例

    入门实例 1  .下载struts-2.3.16.3-all  .不摆了.看哈就会下载了. 2  . 解压  后 找到 apps 文件夹. 3.    打开后将 struts2-blank.war   ...

  5. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  6. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下     wxPython中文教程入门实例 wx.Window 是一个基类 ...

  7. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

  8. Spring中IoC的入门实例

    Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如 ...

  9. Node.js入门实例程序

    在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...

  10. Java AIO 入门实例(转)

    Java7 AIO入门实例,首先是服务端实现: 服务端代码 SimpleServer: public class SimpleServer { public SimpleServer(int port ...

随机推荐

  1. chromium high cpu usage

    ctrl + esc 列出哪个进程占用了cpu,可以杀掉. --purge-memory-button可以在上边弹出的窗口上显示一个按钮,据说能释放内存.

  2. 【BZOJ3524/2223】[Poi2014]Couriers 主席树

    [BZOJ3524][Poi2014]Couriers Description 给一个长度为n的序列a.1≤a[i]≤n.m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大 ...

  3. 解决IE6中PNG图出现灰色背景问题

    第 1 种方法:定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了.(注意两处图片的路径写法不一样,本例中,icon_home.png图片与html文件在相同目录) < ...

  4. rsync+inotify实现数据的实时备份

    一.rsync概述 1.1.rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需 ...

  5. ASP.NET Security

    <authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout ...

  6. ZOJ 3929 Deque and Balls

    答案=所有情况中总共递减次数*2 放完i个和放完i-1个之间的递减次数是可以递推的. 有一部分是放完i-1个之后产生的,还有一部分是放完第i个之后新产生的. 注意减去多加的部分. 2的i次方可以打个表 ...

  7. MySQL数据文件的导入、导出

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导 ...

  8. iOS开发——pch文件创建

    新换的公司,接手的项目里面连pch文件都没有,每次需要用到屏幕的宽高时,都是现写.今天既然碰到了,就把PCH这个玩意说一下. 1.Command+N,打开新建文件窗口:iOS->Other-&g ...

  9. leetcode-004 insertion sort list

    package leetcode; class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } ...

  10. Badboy安装与使用

    Badboy是一个录制web脚本的工具 1.下载Badboy:http://www.badboy.com.au/download/add 2.启动Badboy,认识主界面 3.使用Badboy录制we ...