1、SoapUI Pro 5.1教程作者:Ray目录1 概述 52 基础知识 52.1 XML.52.2 WSDL52.2.1 初建WSDL 52.3 SOAP.72.3.1 SOAP简介 .72.3.2 SOAP实例 .83 安装卸载 103.1 下载 103.2 安装 103.3 卸载 114 工具介绍 114.1 工具简介 114.2 主面板 115 项目管理 125.1 映射关系 125.2 初建项目 135.3 初建用例 195.4 用例测试 226 功能测试 226.1 变量 226.1.1 新建变量 236.1.2 引用变量 246.2 断言Assertion 266.2.1 Con
2、tains.266.2.2 Xpath 286.3 传值Transfer Value336.3.1 引用变量 336.3.2 引用Xpath 356.4 数据源DataSource .416.4.1 Grid .416.4.2 File.516.5 模拟服务MockService .536.5.1 创建Soap项目 536.5.2 创建MockService .546.5.3 编辑MockService .566.5.4 调用Mockservice 576.6 数据库JDBC 636.6.1 驱动安装 636.6.2 主界面介绍 646.6.3 JDBC用例操作 656.7 测试自动化 716
3、.7.1 Launch TestRunner.716.7.2 手动运行产生报告 747 负载测试 757.1 Load Test.758 安全测试 758.1 Security Test .759 常见问题 759.1 启动提示Xmx .751 概述本教程仅用于测试人员基础学习,主要讲解工具各种常用测试技能,囊括新建项目到产生报告及测试管理。2 基础知识2.1 XML 详细学习网址http:/www.w3cschool.cc/xml/xml-tutorial.html2.2 WSDL 详细学习网址http:/www.w3cschool.cc/wsdl/wsdl-tutorial.html2.2
4、.1 初建 WSDL测试时开发会提供WSDL文件,本次为用于工具的使用自己创建 WSDL创建WEB 工程,编写如下 java文件用于测试package wsdl001;public class HelloWorld public String output(String name) return “Input is : “ + name;public String add(float a, float b) return “a+b=“ + (a + b) + “ “ + “a-b=“ + (a - b);右键java文件,选择创建 webserviceNext,选择需要创建的方法Next,点击
5、Start Server开启服务,finish即可也可在第一步直接默认选项,点击finish创建完后可在WebContent/wsdl/ 找到对应的wsdl 文件2.3 SOAP 2.3.1 SOAP 简介SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。SOAP包含元素:必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息可选的 Header 元素,包含头部信息必需的 Body 元素,包含所有的调用和响应信息可选的 Fault 元素,提供有关在处理此消息所发生错误的信息SOAP 方法指的是遵守 SOAP 编码规则的 HTTP 请求 /
6、响应。HTTP + XML = SOAPSOAP 请求可能是 HTTP POST 或 HTTP GET 请求。 2.3.2 SOAP 实例在下面的例子中,一个 add请求被发送到了服务器。此请求有2个参数(a,b );响应中则会返回一个 addReturn参数Soap请求:POST http:/192.168.193.196:8050/WSDL/services/HelloWorld HTTP/1.1Accept-Encoding: gzip,deflateContent-Type: text/xml;charset=UTF-8SOAPAction: “Content-Length: 269H
7、ost: 192.168.193.196:8050Connection: Keep-AliveUser-Agent: Apache-HttpClient/4.1.1 (java 1.5)10100Soap响应:HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Type: text/xml;charset=utf-8Transfer-Encoding: chunkedDate: Mon, 15 Sep 2014 06:39:27 GMTa+b=110.0 a-b=-90.0蓝色部分为Soap消息,包含了Envelope,Body两个必须元素,body
8、元素包含了请求和返回的内容详细学习网址http:/www.w3cschool.cc/soap/soap-tutorial.html3 安装卸载3.1 下载http:/www.soapui.org/Downloads/download-soapui-pro.html专业版需申请lisence,有效期14天本次已下载“SoapUI-x32-5.0.0”和“SoapUI-Pro-x32-5.1.2”存放在 SVNtools3.2 安装安装一路next就 ok,专业版注意勾选 JDBC驱动,也可参考官方教程http:/www.soapui.org/Getting-Started/installing-
9、on-windows.html3.3 卸载通过控制面板 卸载程序卸载,或者直接通过soapui的uninstall卸载4 工具介绍4.1 工具简介略,详情参考官方文档http:/www.soapui.org/About-SoapUI/what-is-soapui.html4.2 主面板5 项目管理5.1 映射关系SoapUI和项目对应关系图如下新建工程导入工程项目操作工程操作各类选项5.2 初建项目新建项目,点击FileNew Workspace为workspace命名(My First SoapUI),点击确定选择保存位置,点击保存新建工程,右键My First SoapUINew Proj
10、ect选择WSDL规格,点击ok命名工程(Project ONE,此处不添加WSDL文件),点击 ok添加WSDL文件,右键Project ONEAdd WSDL选择之前创建的“HelloWorld.wsdl” 点击ok,此处不创建TestSuite (测试集),可以直接输入 wsdl文件路径;如:soapui自带的sample,目录 SoapUI-TutorialsWSDL-WADLsample-service.wsdl创建测试集,右键Project ONENew TestSuite命名测试集,点击确定双击Project ONE,可以查看项目的各种信息,包含各种统计信息和详细信息双击Hell
11、oWorldSoapBinding,可以查看各种详细信息,如:WSDL Content5.3 初建用例创建测试用例,右键HelloWorld TestSuiteNew TestCase命名测试用例,点击确定添加用例步骤,右键Test StepsAdd StepTest Request命名测试步骤,点击确定选择请求方法(此处add),点击确定选择默认,点击ok 至此,一个add soap请求用例创建完成。5.4 用例测试双击add Request,打开请求测试页面,输入 a,b值,点击运行按钮(绿色三角)运行后,返回结果为“a+b=110.0,a-b=-90.0” 和预期一致(注意先启动apac
12、he)图释:用例上侧是各种操作按钮(含请求路径,红色框)用例左侧有各种展示模式(XML,Form等,蓝色框), 非专业版没有 Outline和 Form格式用例右侧是Request 和Response详情区,可通过不同展示格式查看请求和响应用例下侧为断言和日志等详情打开http log,可以看到请求与返回的详细日志6 功能测试6.1 变量在测试时候,会有很多固定值,为了不需要每次都输入和管理的方便,我们可以使用变量操作,其中变量有四种,如下6.1.1 新建变量此处以Project Property为例,其他类似选择工程,切换到Custom Properties,点击新增按钮,增加一个变量nam
13、e=a,value=2006.1.2 引用变量点击b值设置按钮,选择GetData Project:Project ONEProperty b运行查看结果,达到预期不清楚变量设置的地方,可直接在选择变量时新建即可全局变量设置在FilePreferencesGlobal Properties6.2 断言 Assertion测试用例设计好后,我们需要通过一个预期值与执行结果进行比对,来判定是否pass,Assertion就用来作为我们的结果判断,这里介绍 contains和Xpath两种6.2.1 Contains对整个返回结果进行内容匹配,只要含有约定内容,即PASS1.新建 output请求,增加assertion,选择contains2.设置内容:华为3.执行用例,查看结果6.2.2 XpathXPath:使用路径表达式来选取 XML 文档中的节点或者节点集Xpath=XML.path,对指定的XML节点元素属性进行全匹配判断1.增加 Xpath2.选择 xpath,此处为 outputReturn注: Xpath必须是全部匹配,才可通过3.设置检测内容:使用默认值4.执行用例,查看结果5.更改内容为:华为,运行失败(非全匹配),可查看失败信息