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">

10

100

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">

a+b=110.0 a-b=-90.0

蓝色部分为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