- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在SoapUI中建立测试用例【案例】
为了避免空洞的讲解,同时为了更好的展示 soapUI 对 REST 服务的测试功能,本文假想了一个在线书店 () 的例子。该在线书店对外提供了一些 REST 服务让第三方的应用程序调用。 为了让读者把注意力集中在使用 soapUI 进行测试上,我们对这些 REST 服务进行了必要的简化,仅仅只包含下面 3 种功能:书籍列表,书籍详情和添加评论。这 3 个 REST 服务覆盖了层次状的 REST 资源、基本的 HTTP 操作和多种展现形式。服务名称HTTP 操作资源 URI资源展现注释书籍列表GET/booksapplication/json,text/xml该 REST 服务的目的是列出在线书店中的书籍列表,参见 代码清单 1和 代码清单 2书籍详情GET/books/book id application/json该 REST 服务目的是给定一个书籍 ID,返回该书籍的详细信息,参见代码清单 3,需要注意的是书籍详细信息是一个带有层次结构的 json 展示添加评论POST/books/book id /comments无 , 系统仅仅返回 200 OK该 REST 服务的目的是对一个书籍添加评论,调用方需要 POST 类似 author=xxxcontent=xxx 的数据到服务器端。 清单 1. 书籍列表 application/json?{books: [?? {book:??? {????? id: 1234,????? name: book1,????? price: 29?? }},?? {book:??? {????? id: 5678,????? name: book2,????? price: 18?? }}?]} 清单 2. 书籍列表 text/xml?bookes?? book????? id1234/id????? namebook1/name????? price29.0/price?? /book?? book????? id5678/id????? namebook2/name????? price18/price?? /book?/bookes 清单 3. 书籍详情 application/json?{?? id: 1234,?? name: book1,?? description: this is book 1,?? author: author1,?? price: 29,?? comments:??? [????? {comment:?????? {???????? user: user1,???????? content: good book????? }},????? {comment:?????? {???????? user: user2,???????? content: not bad????? }}?? ]?}在 soapUI 中建立测试用例 基本概念 在创建测试用例之前,我们先来看一看在 soapUI 中的基本概念,soapUI 把 REST 服务、资源及其操作组织为一个层次结构。如图 1所示,主要包括如下层次: ● 项目定义:位于最上层 (BookStoreTest),项目可以包含多个服务的定义。 ● REST 服务定义:服务其实是对多个 REST 资源的一个分组,在我们的例子中只有一个服务 BookStoreServie ● REST 资源定义:具体描述该资源的名称,URI, 参数等属性 ● REST 方法定义:针对每个资源的方法 (GET,POST,PUT,DELETE 等 ),图 1 中的方法名就是 GetBookList ● REST 操作请求定义:基于每个方法,可以有一个或多个请求操作,如 GetBookListRequest,这些请求操作才是真正被 soapUI 所调用执行的。每个请求可以设置非常丰富的信息,例如 Accept 类型,请求的 Header 信息,运行了该请求以后,就能以各种方式查看运行结果。但是这里还不能加入断言来验证结果 - 必须在建立测试用例以后才能使用。 注: 读者可以在下载区的 bookstore-soapui-project.zip 找到完整的例子,下文中主要以该例子为基础进行讲解。读者解压 zip 文件以后,能得到一个 xml 文件,可以通过 soapUI 的 File-import project 把项目导入到自己的工作区中。图 1. soapUI 中的层次结构 对于测试用例来讲,同样是一个层次结构: ● TestSuite:类似于 Junit 中的测试套件,其中可以加入多个 TestCase ● TestCase:可以包含多个 TestStep ● TestStep:一个 TestCase 可以包
原创力文档


文档评论(0)