工作原因,需要对soap协议接口进行测试。由于soapui操作比较简单,故选取soapui为手工验证时的测试工具。 工作中的学习与积累,将慢慢进行记录
Soapui支持两种工程格式:独立工程和复合工程。 1.1.1. 独立工程 独立工程是默认工程类型,被保存为包含所有工程工件的一个单个XML文件。(接口/测试/模拟服务/脚本等等) 1.1.2. 复合工程 复合工程的目标在于团队测试。允许很多人同时工作在一个工程上。
Soapui中有三种主要类型的工程:SOAP工程、REST工程、一般指示服务的主要类型。 如果可能,可以人工结合工程中的任意服务类型。 1.2.1. SOAP工程 SOAP工程通常由一个WSDL文件,或者从一个单独的服务生成 1.2.2. REST工程 REST工程可以由一个WADL文件生成,或者直接从一个URL和它的属性生成。 1.2.3. 通用工程 通用工程是有多种接口和方法的服务的通用工程
增加工程到工作空间有如下方法:新建一个工程、导入一个本地或者符合工程、导入一个工程包或者一个远程工程。 1.3.1. 新建一个工程(soapui pro版本) 新建工程对话框让你从一些方法中选择来创建一个Soapui工程
Create empty project 创建一个空的Soapui项目。你可以增加在这个项目中需要的定义Create project from WSDL definition (SOAP) 获取WSDL文件并根据定义创建soap项目Soapui可生成服务,以及可选择生成一个测试套件(test suite)和一个模拟服务(mock service)
1.3.2. 导入项目 本地项目文件 当你电脑存在一个项目文件,你可以使用“File”栏中的“Import Project”选项将它导入到你的工作空间。 本地项目包 当你电脑存在一个ZIP格式的工程包,你可以使用“File”栏中的“Import Packed Prject”选项将它导入到你的工作空间。 本地复合项目 对于复合项目,导入过程与常规项目相同,与此不同,您选择复合项目文件夹而不是在其内部的任何文件。若要导入复合项目,使用“File”栏中的“Import Project”选项。 远程项目 远程项目(例如教程,演示,错误报告等)可以通过HTTP导入到工作区。使用“File”栏中的“Import Remote Project”选项 。 从工作区弹出并指定URL项目文件;只有它是一个普通的本地项目时,soapUI将加载和导入项目 1.3.3. Resolve Project
当你导入一个项目,Soapui会检查项目看它是否一致,以及是否有所有有必要的外部依赖关系(这个过程叫做“解决”) 如果发现了错误,Resolve Project对话框会展现错误,可以根据需要解决它们。 如果你在做决定之前需要仔细观察一个项目,只需在列表中双击它,相应的编辑器就会打开
Resolve Project对话框 Resolve Project对话框允许您在导入项目时处理项目中的冲突资源
解决一个潜在的错误: 1)在每一条(Item)的右边,从下拉菜单选择合适的动作(Action) 2)输入需要的参数或者值 3)点击OK
1.3.4. 项目资源的Resourse Root Resourse Root参数控制了处理工程资源的路径。 如果项目包含对外部资源的引用,则它们将需要被包含在该项目中。
任何绝对路径值使用此路径 参数 描述 ${projectDir} 与项目文件夹相关的解决文件 KaTeX parse error: Undefined control sequence: \projects at position 98: …ate.xls”。文件夹“d:\̲p̲r̲o̲j̲e̲c̲t̲s̲\”包含了工作空间文件夹,这个…{projectDir}\data" 解析 “d:\projects\data\testdata.xls”. 工作空间 指定"${workspaceDir}\data" 解析 “d:\projects\webservice\data\testdata.xls”. 1.3.5. 项目加密 项目属性中的“Project Password”选项让你很容易对整个项目文件加密。 (当保存项目时,项目图标将包含一个小的’E’标志着它被加密) 当打开一个设置密码的项目时,Soapui会在你使用前提示先解密。
要移除密码,就需要清除项目密码,并保存项目。 极端警告!不要遗失你的密码。密码遗失后,这里没有其他的方法去恢复一个加密项目文件的密码。
注意:这页包含的Soapui专业版信息已经被API替代 可以去尝试新功能,可以在我们网站下载免费试用版
项目窗口通过双击项目节点打开,它包含了许多香米范围设置与数据的页面。
Overview Tab包含了所包含项目的一般数据,允许项目描述规范、项目级别属性和一些甚至可以丰富你项目的脚本。 子页 内容 Description Properties Load Scrip 在项目被加载后调用。使用举例:初始化某些特定数据。边界点等 Save Script 在项目被保存前调用。允许你去执行自定义清除任务。例如移除密码或测试对象等等 Report Script 再生成项目报告时调用
TestSuite选项卡展现了项目中的所有功能测试套件(见http://www.soapui.org/Functional-Testing/structuring-and-running-tests.html) 子页 内容 Setup Script Teardown Script TestSuite Log
WS-Security配置选项卡管理SOAP web服务的项目级别WS-Security配置 见http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html 子页 内容 Outgoing Configurations Incoming Configurations Keystores Truststores
Security Scan Defaults选项卡包含项目中的敏感信息
Requirements选项卡管理项目需求(见 http://www.soapui.org/Working-with-Projects/managing-requirements.html) 子页 内容 TestCases Links Description
JDBC Connections选项卡管理项目级JDBC连接,可以用于多场景(见 http://www.soapui.org/Working-with-Projects/jdbc-connections.html)
Reporting选项卡管理全局的以及项目级的报告模板和参数(见http://www.soapui.org/Reporting/reporting-infrastructure.html)
子页 内容 Available Reports Subreports Report Details 展示合理的报告和子报告 Templates Parameters
事件选项卡管理项目级事件处理程序,可用于增强测试执行的大多数方面 (见http://www.soapui.org/Scripting-Properties/custom-event-handlers.html) 2.9. Environments选项卡 环境变量选项卡管理项目级环境变量,用于容易在不同设置的SOAP和REST服务、属性和数据库连接间切换