Soapui最全实用教程(理论篇)
一、soapui工具简介
SoapUI是用于Webservice接口的测试工具,可以是SOAP Webservice以及RESTful Webservice或基于HTTP的服务,SoapUI是一个开放源代码且完全免费的工具,因为是基于Java开发的,因此它可以Windows、Mac和Linux系统上进行了接口测试,在业界被视为API service测试的的标准工具。
SoapUI可用于完整的RESTful API和SOAP Web Service测试,并支持功能测试,性能测试,互操作性测试,回归测试等。
二、SOAP与REST接口
我们通常指的API接口为服务器端接口,是已定义的请求-响应消息系统的程序接口,通常称为Web Service。Web Service有几种设计模型,但最主要的两个是SOAP和REST。
正如一个REST API教程所说:SOAP 就像一个信封,而REST只是一张明信片。当然,明信片比信封发送更快,更便宜,但仍然可以包裹在其他东西中,甚至包括信封。您也可以阅读明信片,而信封则需要一些额外的步骤,例如打开或打开包装以访问其中的内容。
1、 rest接口
REST代表代表性状态转移,是一种软件体系结构样式,它依赖于无状态通信协议,最常见的是HTTP。REST以XML,json或机器可读的任何其他格式构造数据,但是通常使用JSON最广泛,REST是由数据驱动的,我们通常称之为RESTful API或RESTful Web service,支持HTTP协议的所有的请求方式如POST,GET,PUT和DELETE等:
向/ pet / {petId}发送GET请求将从数据库中检索具有指定ID的宠物。
向/ pet / {petId} / uploadImage发送POST请求会添加新的宠物图像。
将PUT请求发送到/ pet / {petId}将更新由指定ID标识的现有宠物的属性。
向/ pet / {petId}发送DELETE请求将删除指定的宠物
2、 soap接口
SOAP是简单对象访问协议的缩写,该服务提供的每个操作以及该操作的请求和响应都背明确定义在一个XML结构文件中,每个输入参数都被定义并绑定到类型如整数,字符串或其他复杂对象上,所有这些都以WSDL描述语言进行了编码,WSDL通常被解释为服务的提供者和使用者之间的契约。
SOAP是功能驱动的,也支持常见的HTTP相关的请求方式。
3、soap与rest的区别
与REST相比,SOAP具有以下优点:
l 与语言、平台和传输无关(REST要求使用HTTP)
l 在分布式企业环境中运行良好
l SOAP通常使用XML文件以WSDL标准的形式封装数据
l 内置错误处理
REST更易于使用,并且更加灵活,与SOAP相比,它具有以下优点:
l 更加易于理解
l REST通常使用json消息格式,更加简介
l 快速(无需大量处理)
l 在设计理念上更接近其他Web技术
三、SOAPUI工具安装
SoapUI是基于Java开发的,具备跨平台特性,可以根据您的需要和偏好在Windows,Mac或Linux / Unix上使用:
1、 确保windows环境下已经安装了1.8版本以上的JDK或者JRE
2、 下载windows安装包:http://www.soapui.org/
3、 下载的安装程序,安装非常简单。双击就可以启动它。安装程序将立即启动。
您很快就会看到启动屏幕。
单击下一步继续,选择目标文件夹,默认情况下将其设置为C:\ Program Files \ SmartBear \ SoapUI-5.5.0。
下一步使您有机会包括SoapUI源文件,HermesJMS安装和教程作为附加组件。
注意:如果选择安装HermesJMS,则必须接受HermesJMS许可协议。如果选择安装SoapUI教程,请指定要将它们安装到的目录。
然后,您可以选择要在其中添加soapUI快捷方式的“开始菜单”文件夹。
最多几分钟后,安装应该完成,您将看到下一个屏幕,安装就成功了。
四、SOAPUI的主要功能
1、菜单栏
提供soapui常见的功能菜单,包括空项目、soap项目、rest项目的创建或者直接导入以上项目,以及项目设计中的所有其他功能菜单。
2、工具栏常用按钮:
l 创建一个空的SoapUI项目
l 创建一个新的SOAP项目
l 创建一个新的REST项目
l 将现有的soapUI项目导入到当前工作空间中
l 将所有项目保存在当前工作空间中
l 设置全局soapUI首选项
l 应用在全局首选项中定义的代理
3、项目导航视图
主要展示一个SOAP项目的树状管理结构,接口测试脚本的所有要素都在改树状导航中进行设计,包括但不限于测试集合、测试用例、测试步骤等。
4、属性区域
当前项目的项目名称、项目保存路径、描述信息、脚本语言的属性的展示区域
5、最底层日志栏提供:
分别表示SoapUI日志,http日志,jetty日志,错误日志,wsrm及内存使用日志。
五、 soapui测试流程
使用soapui工具,可以进行接口用例的设计、组织、运行和报告输出。
1、测试用例组织架构
SoapUI将测试分为三个级别:TestSuite,TestCase和TestStep。
l TestSuite是的TestCase的集合,可以用于分组功能测试为逻辑单元,在soapUI项目中可以创建任意数量的TestSuite,以支持大量的测试用例开发。
l TestCase是TestStep的集合,这些TestCase被组装以测试服务的特定功能,您可以将任意数量的TestCase添加到包含TestSuite的模块中,甚至可以模块化它们以在复杂的测试场景中相互调用。
l TestStep是最基本的步骤,它们被添加到TestCase中,并用于控制执行流程并验证要测试的服务的功能。
总之TestSuite是在项目级别创建的,用于将TestCase分组为逻辑单元,而TestStep则是最基本的逻辑步骤。
2、测试执行
TestCase中TestStep的执行顺序总是按照它们显示的顺序进行,可以使用专用的Teststep或脚本来实现分支/循环,工具栏正下方的进度条显示当前的执行状态,并根据测试结果显示为红色或绿色。
由于无法预先知道确切的执行步骤数(由于编写脚本等原因),因此进度条可能不会始终显示与执行的步骤/项目数一致的数字/值。
3、测试输出
以上所有视图的底部还包含一个执行日志,该日志显示有关已执行测试步骤及其状态的持续信息。
可以双击此列表中的项目以显示有关实际执行的更多详细信息,例如,如果我们双击上面[Test Request:logout] TestStep的条目(在日志的最后),我们将获得以下窗口,其中显示发送和接收的实际消息以及相关的属性和声明结果:
4、报告
SoapUI还在顶部工具栏上添加了一个“创建报告”按钮,使您可以将当前执行的结果导出到格式良好的文档中 。
更多关于软件测试培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。