一、SoapUI 入门指南
1.1 什么是 SOAP UI
由于实际项目中,大多数 Web 服务通过接口调用实现,一般不会提供界面让最终用户或测试人员直接使用,因此给测试工作带来了麻烦,测试人员不得不自己编写程序来测试,这就是要求测试人员要花费很大的精力去了解底层的接口、调用关系和详细的协议,导致其不能把注意力集中到测试中。SoapUI 是针对这种情况开发的一个工具,用户可以在 SoapUI 中通过简单的操作完成复杂的测试。
SoapUI 是一个开源测试工具,专为开发人员和测试人员而构建,通过 soap、http 用来检查、调用、实现Web Service的功能、负载、符合性测试。通过一个易于使用的图形界面和企业级功能,SoapUI 可支持多样的测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse、maven2.X、Netbeans 和intellij中使用。SoapUI分为 SoapUI Pro、SoapUI Open Source,SoapUI Pro 是 SoapUI 的商业非开源版本,包括一切 SoapUI 的功能并增加了很多易用性功能。
由于 Soapui 是基于Java的,它可以在大多数操作系统上运行,包括Windows、Linux和Mac。
1.2 SoapUI 的下载
SoapUI 是一个跨平台,可以根据我们的需要在任何操作系统上使用,如Windows、Linux或 Mac。在将 SoapUI 工具下载到系统中之前,我们必须确保以下先决条件。
Windows | Mac | |
---|---|---|
内存 | 512 M | 512 M |
硬盘空间 | 200 MB | 140 M |
操作系统 | Windows XP ++ | Mac OS X 10.4++ |
Java | JAVA 1.8++ | JAVA 1.8++ |
通过链接 https://www.soapui.org/downloads/latest-release/ 找到操作系统相对应的下载按钮,点击下载按钮后开始下载 SoapUI 安装文件。
1.3 WSDL介绍
WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值,是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一个WSDL文档通常包含了7个重要的元素,即types,import,message,portType,operation,binding,service元素。这些元素嵌套在definitions元素中,definitions是WSDL文档的根元素。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。
服务地址 | 说明 |
---|---|
http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl | 中国电视节目预告 Web 服务 |
http://www.webxml.com.cn/webservices/weatherwebservice.asmx?wsdl | 天气预报 Web 服务 |
http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl | 国内手机号码归属地查询WEB服务 |
二、安装 SoapUI
2.1 在 Mac 上安装
-
找到下载好的 SoapUI 安装包,双击启动,安装程序将立即启动,仅需几秒钟,它会在屏幕上显示设置向导,单击“NEXT”继续。
-
这里选择要安装在什么位置,也可以保留默认安装路径。默认情况下,安装位置为 /Applications下,如下图所示。
-
选择我们要安装的组件,包括 SoapUI 源文件、教程和 HermesJMS 安装,一般默认即可。注意:如果选择安装HermesJMS,则必须接受HermesJMS许可协议。如果选择安装SoapUI教程,需要指定选择 SoapUI-Tutorials 的文件夹位置或将其保留为默认位置。
-
选择是否应创建桌面图标,取消即可,然后单击NEXT按钮,开始安装SoapUI工具,等待安装完成。
-
最后,点击Next,开始安装。安装完成后,点击 Finish 按钮,将会启动 SoapUI 工具。
2.2 在 Windows 上安装
-
找到下载好的 SoapUI 安装包,双击启动,安装程序将立即启动,仅需几秒钟,它会在屏幕上显示设置向导,单击 Next 继续。
-
这里选择要安装在什么位置,也可以保留默认安装路径。默认情况下,安装位置为 C:\Program Files\SmartBear下,如下图所示。
-
选择我们要安装的组件,包括 SoapUI 源文件、教程和 HermesJMS 安装,一般默认即可。注意:如果选择安装HermesJMS,则必须接受HermesJMS许可协议。如果选择安装SoapUI教程,需要指定选择 SoapUI-Tutorials 的文件夹位置或将其保留为默认位置。
-
选择是否应创建桌面图标,取消即可,然后单击NEXT按钮,开始安装SoapUI工具,等待安装完成。
-
最后,点击Next,开始安装。安装完成后,点击 Finish 按钮,将会启动 SoapUI 工具。
三、SoapUI 配置
3.1 基本的 GUI 导航
SoapUI安装完成之后,就可以运行SoapUI了,首次启动 SoapUI 显示界面如下:
这里只说明几个常用菜单
选项 | 描述 | |
---|---|---|
File - 文件菜单 | 提供Soapui常见的功能菜单 | |
Import Project | 将现有项目添加到此工作区 | |
Import Remote Project | 将远程项目导入此工作区 | |
Save All Projects | 保存当前工作区中的所有项目 | |
Open All Closed Projects | 打开当前工作区中所有关闭的项目 | |
Close All Opened Projects | 关闭当前工作区中所有打开的项目 | |
Rename | 重命名此工作区 | |
New Workspace | 创建一个新工作区 | |
Switch Workspaces | 切换工作区 | |
Clear Workspace | 从工作区中删除所有项目 | |
Preferences | 设置全局soapUI首选项 | |
Save Preferences | 保存所有全局首选项 | |
Import Preferences | 从另一个设置文件导入soapUI设置 | |
Recent | 重新打开最近的项目 | |
Exit | 保存所有项目并存在soapUI | |
Exit Without Saving | 退出 SoapUI 而不保存 | |
Online Help | 在线帮助 | |
Desktop - 桌面菜单 | ||
Switch Window | 提示切换到打开的编辑器窗口 | |
Maximize Desktop | 隐藏或显示导航器和日志选项卡 | |
Close Current | 关闭当前选项卡 | |
Close Others | 关闭除当前选项卡以外的所有选项卡 | |
Close All | 关闭所有窗口 | |
Open TestCase Layout | 打开测试用例布局 | |
Help - 帮助菜单 | ||
Starter Page | 显示起始页 | |
User Guide | 用户指南 | |
Getting Started | 入门 | |
Search Forum | 搜索soapUI支持论坛 | |
System Properties | 显示当前系统属性 | |
Update License | 更新已安装的许可证 | |
Show License Details | 显示已安装的许可证 | |
Buy License | 购买许可证 | |
soapui.org | 打开 www.soapui.org | |
eviware.com | 打开 www.eviware.com | |
Show License | 显示许可协议 |
3.2 属性配置
现在,让我们了解文件菜单中的“首选项”。 从“File”菜单中单击“Preferences”后,将打开以下对话框,如下所示。接下来,将分别详细介绍最常用的几个设置。
3.2.1 HTTP Settings
3.2.2 WSDL Settings
3.2.3 UI Settings
3.2.4 Editor Settings
四、基本使用
在 SoapUI 中,SOAP 项目大多使用 WSDL 服务作为主要资源,可以将 WSDL 文件视为服务提供者和消费者之间的合同,因为 WSDL 文件通常包含有关您要测试的 Web 服务的所有必要信息。WSDL 或 Web 服务描述语言是一种基于 XML 的定义语言,WSDL 文件是测试基于 SOAP 的服务的核心,SoapUI 使用 WSDL 文件来生成测试请求、断言和模拟服务。使用的接口实例是中国电视节目表WEB服务:http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx。
4.1 构建SOAP 项目
SoapUI 项目是所有 SoapUI 测试的中心点,只有创建项目后,才可以创建和运行功能测试、负载测试、模拟服务等对其进行扩展。在 SoapUI 工具中创建SOAP项目很简单,下面描述了创建 SOAP 项目的主要步骤:
-
在 SoapUI 窗口左侧的Navigator中,右键单击Projects并选择New SOAP Project,有或者转到 File 并选择 New Soap Project,将出现New SOAP Project对话框。除此之外,我们还可以点击 SOAP 图标来创建一个新的 SOAP 项目。
-
在弹出 New SOAP Project 中,在Project Name 编辑框中指定新项目的名称,并在 Initial WSDL 编辑框中填入URL地址或者直接导入WSDL文件,其会自动检索项目名称。这不是强制性的,这取决于用户,用户可以在创建项目之后提供WSDL或添加。在这种情况下,我们创建一个项目并稍后添加WSDL。
-
点击OK按钮后,页面弹出保存工程的提示,以
project 名称- soapui-project.xml
的形式进行命名,新项目将出现在Navigator中。 -
在 SoapUI 窗口左侧的Navigator,右键单击新项目的名称并选择 Add WSDL,将出现add WSDL对话框。在对话框的WSDL Location编辑框中,指定 WSDL 文件或服务的路径,单击OK,SoapUI 将加载指定的 WSDL 并将其内容解析,与项目关联的 Web 服务操作就会出现在Navigator中。注意,在填写初始WSDL时,url一定要携带后缀 ?wsdl。
-
要获取项目的更多详细信息,在Navigator中双击项目名称,它将打开一个包含各种详细信息的新窗口,将显示项目概述,包括安全配置和基本要求等。
-
双击接口名称将打开一个新窗口并显示与WSDL相关的信息,这些对于浏览和检查WSDL非常有用。在生成的窗口窗口中,将看到有关 WSDL 文件的一般信息:其 URL、目标名称空间等,其中 WSDL Content 选项卡提供有关 WSDL 文件的更多详细信息。
4.2 操作和请求
每个基于 WSDL 的服务都公开了许多操作(在 WSDL 中方便地称为“操作”),每个操作都具有请求和响应消息格式(都是可选的)。在SoapUI 中,Service 的操作显示为项目导航器中Service 节点下的节点。在SoapUI中,无法对操作执行太多操作,左下角的属性显示了一些只读值,这里唯一可以编辑的属性是Description。SoapUI 在导入时默认为每个操作创建一个示例请求,如下所示:
双击一个请求会打开soapUI 请求编辑器,编辑器分为两个主要面板,一个用于请求,一个用于响应。如下图所示。双击 getAreaDataSet 下的 Request1,进入设置入参的界面,自动生成的入参报文,只需要输入入参,点击运行,就完成了接口调用,在右侧显示出回参XML。如果需要设置参数的话,只需要将请求面板中的**?**替换成具体的值即可。