2024年4月30日发(作者:)
SoapUI Pro 5.1
作者:Ray
教程
目录
1
2
概述........................................................................................................................................... 5
基础知识 ................................................................................................................................... 5
2.1
2.2
XML .............................................................................................................................. 5
WSDL ........................................................................................................................... 5
2.2.1
2.3
初建WSDL ....................................................................................................... 5
SOAP ............................................................................................................................ 7
2.3.1
2.3.2
SOAP简介 ........................................................................................................ 7
SOAP实例 ........................................................................................................ 8
3 安装卸载 ................................................................................................................................... 9
3.1
3.2
3.3
下载 ............................................................................................................................... 9
安装 ............................................................................................................................. 10
卸载 ............................................................................................................................. 10
4 工具介绍 ................................................................................................................................. 10
4.1
4.2
工具简介 ..................................................................................................................... 10
主面板 ......................................................................................................................... 11
5 项目管理 ................................................................................................................................. 12
5.1
5.2
5.3
5.4
映射关系 ..................................................................................................................... 12
初建项目 ..................................................................................................................... 13
初建用例 ..................................................................................................................... 18
用例测试 ..................................................................................................................... 21
6 功能测试 ................................................................................................................................. 22
6.1 变量 ............................................................................................................................. 22
6.1.1
6.1.2
6.2
新建变量 ......................................................................................................... 23
引用变量 ......................................................................................................... 23
断言Assertion ........................................................................................................... 25
6.2.1
6.2.2
Contains ........................................................................................................ 25
Xpath ............................................................................................................. 27
6.3 传值Transfer Value ................................................................................................. 31
6.3.1
6.3.2
引用变量 ......................................................................................................... 31
引用Xpath ..................................................................................................... 33
6.4 数据源DataSource ................................................................................................... 39
6.4.1
6.4.2
39
File .................................................................................................................. 49
6.5 模拟服务MockService ............................................................................................. 51
6.5.1
6.5.2
6.5.3
6.5.4
创建Soap项目 ............................................................................................... 51
创建MockService ......................................................................................... 52
编辑MockService ......................................................................................... 54
调用Mockservice ......................................................................................... 55
6.6 数据库JDBC ............................................................................................................... 60
6.6.1
6.6.2
6.6.3
驱动安装 ......................................................................................................... 60
主界面介绍 ..................................................................................................... 62
JDBC用例操作 ............................................................................................... 63
6.7 测试自动化 ................................................................................................................. 69
6.7.1
6.7.2
Launch TestRunner .................................................................................... 69
手动运行产生报告 ......................................................................................... 72
7 负载测试 ................................................................................................................................. 73
7.1 Load Test .................................................................................................................. 73
8 安全测试 ................................................................................................................................. 73
8.1 Security Test ............................................................................................................ 73
9 常见问题 ................................................................................................................................. 73
9.1 启动提示Xmx ............................................................................................................ 73
1 概述
本教程仅用于测试人员基础学习,主要讲解工具各种常用测试技能,囊括新
建项目到产生报告及测试管理。
2 基础知识
2.1 XML
详细学习网址
/xml/
2.2 WSDL
详细学习网址
/wsdl/
2.2.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文件,选择创建webservice
Next,选择需要创建的方法
Next,点击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 请求/响应。
HTTP + XML = SOAP
SOAP 请求可能是 HTTP POST 或 HTTP GET 请求。
2.3.2 SOAP实例
在下面的例子中,一个 add请求被发送到了服务器。此请求有2个参数(a,b);响应中
则会返回一个 addReturn参数
Soap请求:
POST 192.168.193.196:8050/WSDL/services/HelloWorld HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Content-Length: 269
Host: 192.168.193.196:8050
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
xmlns:wsd="wsdl001">
Soap响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Mon, 15 Sep 2014 06:39:27 GMT
xmlns:xsd="/2001/XMLSchema" xmlns:xsi="/2001/XMLSchema-instance">
蓝色部分为Soap消息,包含了Envelope,Body两个必须元素,body元素包含了请求和返
回的内容
详细学习网址
/soap/
3 安装卸载
3.1 下载
/Downloads/
专业版需申请lisence,有效期14天
本次已下载“SoapUI-x32-5.0.0”和“SoapUI-Pro-x32-5.1.2”存放在 SVNtools
3.2 安装
安装一路next就ok,专业版注意勾选JDBC驱动,也可参考官方教程
/Getting-Started/
3.3 卸载
通过控制面板——卸载程序卸载,或者直接通过soapui的uninstall卸载
4 工具介绍
4.1 工具简介
略,详情参考官方文档
/About-SoapUI/
4.2 主面板
新建工程
导入工程
工程操作
项目操作
各类选项
5 项目管理
5.1 映射关系
SoapUI和项目对应关系图如下
5.2 初建项目
新建项目,点击File——>New Workspace
为workspace命名(My First SoapUI),点击确定
选择保存位置,点击保存
新建工程,右键My First SoapUI——>New Project
选择WSDL规格,点击ok
命名工程(Project ONE,此处不添加WSDL文件),点击ok
添加WSDL文件,右键Project ONE——>Add WSDL
选择之前创建的“”
点击ok,此处不创建TestSuite(测试集),可以直接输入wsdl文件路径;
如:soapui自带的sample,目录
创建测试集,右键Project ONE——>New TestSuite
命名测试集,点击确定
双击Project ONE,可以查看项目的各种信息,包含各种统计信息和详细信息
双击HelloWorldSoapBinding,可以查看各种详细信息,如:WSDL Content
5.3 初建用例
创建测试用例,右键HelloWorld TestSuite——>New TestCase
命名测试用例,点击确定
添加用例步骤,右键Test Steps——>Add Step——>Test Request
命名测试步骤,点击确定
选择请求方法(此处add),点击确定
选择默认,点击ok
至此,一个add soap请求用例创建完成。
5.4 用例测试
双击add Request,打开请求测试页面,输入a,b值,点击运行按钮(绿色三角)
运行后,返回结果为“a+b=110.0,a-b=-90.0”和预期一致(注意先启动apache)
图释:
用例上侧是各种操作按钮(含请求路径,红色框)
用例左侧有各种展示模式(XML,Form等,蓝色框),
非专业版没有Outline和Form格式
用例右侧是Request和Response详情区,可通过不同展示格式查看请求和响应
用例下侧为断言和日志等详情
打开http log,可以看到请求与返回的详细日志
6 功能测试
6.1 变量
在测试时候,会有很多固定值,为了不需要每次都输入和管理的方便,我们可以使用变量操
作,其中变量有四种,如下
6.1.1 新建变量
此处以Project Property为例,其他类似
选择工程,切换到Custom Properties,点击新增按钮,增加一个变量name=a,value=200
6.1.2 引用变量
点击b值设置按钮,选择GetData——>Project:[Project ONE]——>Property [b]
运行查看结果,达到预期
不清楚变量设置的地方,可直接在选择变量时新建即可
全局变量设置在File——>Preferences——>Global Properties
6.2 断言Assertion
测试用例设计好后,我们需要通过一个预期值与执行结果进行比对,来判定是否pass,
Assertion就用来作为我们的结果判断,这里介绍contains和Xpath两种
6.2.1 Contains
对整个返回结果进行内容匹配,只要含有约定内容,即PASS
1.新建output请求,增加assertion,选择contains
2.设置内容:华为
3.执行用例,查看结果
6.2.2 Xpath
XPath:使用路径表达式来选取 XML 文档中的节点或者节点集
Xpath=,对指定的XML节点元素属性进行全匹配判断
1.增加Xpath
2.选择xpath,此处为outputReturn
注:Xpath必须是全部匹配,才可通过
3.设置检测内容:使用默认值
4.执行用例,查看结果
5.更改内容为:华为,运行失败(非全匹配),可查看失败信息
6.选择允许通配符:设置为*华为,执行成功
6.3 传值Transfer Value
6.3.1 引用变量
设置全局变量
新建传递参数,并设置Source和Target
执行用例,查看结果,达到预期
6.3.2 引用Xpath
设置模拟Request(详见 6.5 Mock Service),返回指定值100
1.新增步骤:property transfer
2.增加property:命名数值a,用于传递a的值
3.设置源参数
4.设置目标参数
设置好后,可以点击运行,查看效果
5.设置add Request,b的值,此处不为a设置
6.运行,查看结果,a的值为100,达到预期
6.4 数据源DataSource
6.4.1 Grid
1.新建测试用例:数据源测试
2.增加测试步骤:数据源Datasource
3.新增property:数值a
4.选择datasource:Grid,写入值
5.查看数值a结果,选择查看的最大行数
6.同样方法创建数值b
7.创建请求,选择add方法
8.引用数据源:datasource
9.创建数据源循环:DataSource Loop,实现循环执行请求
10.设置loop,源数据步骤和目标步骤
运行用例
查看第二次循环,打开Step 4,查看Request Message,请求值为a=20,b=200,
达到预期
6.4.2 File
1.编辑源数据文件:a,b用英文“,”隔开,以txt为例,也可使用excel
2.打开DataSource,选择file,浏览文件,运行,验证数据是否正确
3.运行查看第四步结果,达到预期
6.5 模拟服务MockService
6.5.1 创建Soap项目
使用之前的HelloWorld项目
6.5.2 创建MockService
选择需要创建的方法,并填写Path和Port
6.5.3 编辑MockService
设置预期值代替“?”
6.5.4 调用Mockservice
1.为MockService新建Request
2.新建Request,也可以直接使用之前已经创建的Request,不过在发送请求的时候要更改
url地址
3.命名为:MockService Request
4.选择MockService Request
5.编辑请求 ,创建一个缺省的空请求,再更改请求值“”
6.开启MockService服务
7.发送请求,查看返回,为预期结果“This MockService Response”
6.6 数据库JDBC
6.6.1 驱动安装
下载地址:/downloads/connector/j/
选择Platform Independent下载ZIP Archive压缩文件
拷贝JDBC驱动到soapui安装目录binext下,如:D:SoapUI-Pro-5.1.2binext
本驱动 “mysql-connector-java-5.1.32”已存放在 SVNtools
6.6.2 主界面介绍
1.属性值区域
链接
配置
4.驱动名
5.链接名
6.密码
7.配置按钮
8.链接测试按钮
查询语句
10.该查询是否为存储过程
11.建立SQL查询按钮(仅专业版本)
12.断言
格式展示
e格式展示(仅专业版本)JDBC操作
6.6.3 JDBC用例操作
1.新建JDBC用例,增加JDBC请求
2.创建链接
3.选择新建的链接,点击Build Query设置查询
注:数据表可直接按住左键拖动到编辑区域,数据列也可直接按住左键拖动到另一个表列,
双击连接线可更改条件,下方会有对应sql语句,选择需要查看的列打勾
运行查看结果
4.增加property:name,value=TelnaMainCard
运行并设置查看的行数
5.运行用例
6.7 测试自动化
6.7.1 Launch TestRunner
右键测试集HelloWorld TestSuite——>Launch TestRunner
选择要运行的测试集TestSuite和测试用例TestCase,勾选运行前保存工程
设置报告参数,设置报告文件夹,报告格式(此处用PDF大写),其他选项默认,可根据需
要设置其他选项
点击launch运行自动化
查看报告在:Root FolderHelloWorld-TestSuite TestSuite
6.7.2 手动运行产生报告
双击HelloWorld TestSuite,运行测试集,可通过右键TestCase修改是否执行当前用例
选择输出格式,生成报告
7 负载测试
7.1 Load Test
待更新……
8 安全测试
8.1 Security Test
待更新……
9 常见问题
9.1 启动提示Xmx
此错误为Xmx(最大堆内存)过大,导致SoapUI在启动时没有获取到指定内存所致
解决办法,更改文件ons:Xmx值大小
如:
D:ons,更改Xmx1000m——>800m
发布评论