欢迎来到天天文库
浏览记录
ID:5653147
大小:190.62 KB
页数:12页
时间:2017-12-21
《在soapui中建立测试用例【案例】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、为了避免空洞的讲解,同时为了更好的展示soapUI对REST服务的测试功能,本文假想了一个在线书店(http://www.example.com)的例子。该在线书店对外提供了一些REST服务让第三方的应用程序调用。为了让读者把注意力集中在使用soapUI进行测试上,我们对这些REST服务进行了必要的简化,仅仅只包含下面3种功能:书籍列表,书籍详情和添加评论。这3个REST服务覆盖了层次状的REST资源、基本的HTTP操作和多种展现形式。服务名称HTTP操作资源URI资源展现注释书籍列表GEThttp://w
2、ww.example.com/booksapplication/json,text/xml该REST服务的目的是列出在线书店中的书籍列表,参见代码清单1和代码清单2书籍详情GEThttp://www.example.com/books/application/json该REST服务目的是给定一个书籍ID,返回该书籍的详细信息,参见代码清单3,需要注意的是书籍详细信息是一个带有层次结构的json展示添加评论POSThttp://www.example.com/books//co
3、mments无,系统仅仅返回200OK该REST服务的目的是对一个书籍添加评论,调用方需要POST类似author=xxx&content=xxx的数据到服务器端。 清单1.书籍列表application/json {"books":[ {"book": { "id":"1234", "name":"book1", "price":29 }}, {"book": { "id":"5678", "name":"book2", "price":18
4、 }} ]} 清单2.书籍列表text/xml 1234 book1 29.0 5678 book2 18 清单3.书籍详情application/json { "id":"1234", "name"
5、:"book1", "description":"thisisbook1", "author":"author1", "price":29, "comments": [ {"comment": { "user":"user1", "content":"goodbook" }}, {"comment": { "user":"user2", "content":"notbad" }} ] }
6、在soapUI中建立测试用例 基本概念 在创建测试用例之前,我们先来看一看在soapUI中的基本概念,soapUI把REST服务、资源及其操作组织为一个层次结构。如图1所示,主要包括如下层次: ●项目定义:位于最上层(BookStoreTest),项目可以包含多个服务的定义。 ●REST服务定义:服务其实是对多个REST资源的一个分组,在我们的例子中只有一个服务BookStoreServie ●REST资源定义:具体描述该资源的名称,URI,参数等属性 ●REST方法定义:针对每个资源的方法(G
7、ET,POST,PUT,DELETE等),图1中的方法名就是GetBookList ●REST操作请求定义:基于每个方法,可以有一个或多个请求操作,如GetBookListRequest,这些请求操作才是真正被soapUI所调用执行的。每个请求可以设置非常丰富的信息,例如Accept类型,请求的Header信息,运行了该请求以后,就能以各种方式查看运行结果。但是这里还不能加入断言来验证结果-必须在建立测试用例以后才能使用。 注:读者可以在下载区的bookstore-soapui-project.zip找
8、到完整的例子,下文中主要以该例子为基础进行讲解。读者解压zip文件以后,能得到一个xml文件,可以通过soapUI的File->importproject把项目导入到自己的工作区中。图1.soapUI中的层次结构 对于测试用例来讲,同样是一个层次结构: ●TestSuite:类似于Junit中的测试套件,其中可以加入多个TestCase ●TestCase:可以包含多个TestStep ●TestStep
此文档下载收益归作者所有