SoupUI详细教程(七)【乐搏TestPRO】

上一期我们讲解了SoupUI的概念及下载安装是使用,请参考:

SoupUI详细教程(一)
SoupUI详细教程(二)
SoupUI详细教程(三)
SoupUI详细教程(四)
SoupUI详细教程(五)
SoupUI详细教程(六)
今天将要讲解下如何测试结构的组织和执行。

一、测试结构的组织和执行

SoapUI 将功能测试用例组织为三层结构:测试集—测试用例—测试步骤。

1、一个测试集是一组测试用例的集合,这组测试用例主要是针对同一个逻辑功能模块。在一个项目中为支持大量的测试场景,可以创建任何数量的测试集。
2、一个测试用例是一组测试步骤的组合,这一组测试步骤组合起来主要是为了测试服务某一个特定的功能,你可以根据需要在一个测试用例中添加测试步骤,这里的使用是很灵活的,更多的内容留给读者们自己研究。
3、测试步骤是功能测试的“积木”,它们被添加到测试用例中,用来控制、执行测试步骤和检验被测试服务的功能。在项目中创建测试集是为了将测试用例集合到同一个逻辑单元中 。举例:假如有一个银行系统,则它至少有查询账务的功能,又有付款的功能,那么,我们会将这二个功能归到两个不同的测试集中,再通过组织测试用例来进行测试。你的项目可以包含任意数量的测试集,并且你可以通过双击项目名称,在打开的概要信息窗中选择“TestSuites”标签来执行这些测试集(顺序执行或并行执行,可选择工具栏的按顺序执行图标或并行执行图标)。
在这里插入图片描述

创建一个新的测试集可通过以下方式创建:

1、 通过右键单击项目名称的弹出菜单,选择“New TestSuite”
2、 右 键 点 击 上 图 “TestSuites” 标 签 页 中 任 何 位 置 , 在 弹 出 的 菜 单 , 选 择 “New
TestSuite”
3、 通过上图的 图标也能创建一个新的测试集
4、 测试集还可以在初始创建项目,导入 WSDL 或输入 WSDL 的 URL 后,勾选“Create TestSuite”,勾选此选项,系统会自动帮我们为每个接口都创建一个测试集,后续可根据测试用例需要进行调整即可。
在这里插入图片描述

一个测试集可以包括任意数量的测试用例,执行时可以按顺序执行也可以并行执行,可以通过点击测试集窗口中工具栏的择执行的顺序。
在这里插入图片描述

创建测试用例的方式与创建测试集的方式基本一致,主要有以下几种:

1、 右键单击项目中的测试集名称,在弹出的右键菜单中选择“New TestCase”
2、 点击上图创建测试用例图标:
3、 在上图中“TestCases”标签页中任何位置,右键点击,选择弹出菜单中的“NewTestCase”

一个测试用例包含一定数量的测试步骤,目的是为了向服务接口发起请求并对测试结果进行校验。一个测试用例在执行的时候,它的执行顺序与步骤所显示的顺序一致,如果有循环或分支,那么需要在测试步骤或测试脚本中进行配置。
在这里插入图片描述

右键单击上图某一测试步骤,弹出的右键菜单中包含“Run from here”选项,该选项方便在测试用例编写时,测试用例的调试。
在这里插入图片描述

Run fromhere:从所选择的测试步骤开始执行测试用例,非常方便调试。
Open Editor:打开所选择的测试步骤编辑窗口,双击上图的测试步骤也能打开编辑窗口。
Enable or Disable:测试步骤可以被启动,也可以被禁用,允许你有选择地执行不同的
测试步骤,当你选择 Disable 测试步骤时,该步骤将变成灰色。
Insert Step:在当前选择的步骤之前插入一个新的测试步骤。
Rename and Delete:快速地重命名或删除测试步骤,在一个测试用例中,测试步骤的 名称要惟一。
Move or Clone to other TestCases:测试步骤可以被复制或移动到当前工作空间的其它 测试用例中,如果目标测试用例与要复制的测试步骤不在同一个项目中,那么你还需要复 制接口到目标项目中,SoapUI 会引导复制接口的操作。
Move up or down:你可以通过这个功能移动测试步骤的执行顺序。

你可以选择多个测试步骤,右击时可提供批量删除、启用、禁用所选择步骤的操作。

二、测试步骤

正如上一节所说:测试步骤是功能测试的“积木”,每一个测试步骤都在验证被测服务的功能。测试步骤默认情况下是按顺序执行,但存在几种可能的分支:循环、甚至调用其它的测试用例,即当有需要时会有复杂的测试用例。任意数量的测试步骤都可以被添加到一个测试用例里,添加时:

1、可以通过右键单击测试用例名称,在弹出菜单中选择“AddStep”;
2、也可以通过右键点击测试步骤名称,在弹出的菜单中选择“Insert Step”;
3、下图为双击测试用例名称打开的测试用例信息框,红包方框内的图标是各种测试步骤,点击对应的图标会弹出相应测试步骤添加框。
在这里插入图片描述

选择一个测试步聚,右键单击后的弹出菜单显示了该用例所具有的行为,且左边底部也显示了相应测试步骤的属性,可以直接进行设置。下图中绿色方框中的所标记的行为是SOAP 请求测试步骤所特有的,其它的选项则是所有的测试步骤都具有。如下图所示:
在这里插入图片描述

用例里都会有一些主要的测试步骤用来验证接口的功能,它们既可以发送请求给接口,也可以接收接口返回的结果报文,且响应报文可以经由一个标准的断言机制进行校验。你可以很轻松地组合一个测试用例的所有步骤,并且能够在它们之间很方便地共享数据,例如你也许会使用一个标准的 HTTP 请求登录到一个服务上,然后使用接收到的 HTTP 响应报文作为入参,用 SOAP 发起请求,最后再使用 JDBC 的测试步骤验证数据库的结果数据。测试步骤—属性相关属性测试步骤一般用来管理需要参数化的属性,测试步骤主要有:

Properties:允许你定义任意数量的属性,属性可以从文件读出或写入,可以用来参数化请求、断言等。
Property Transfer:允许你在测试步骤间传递或抽取属性值,如你可以从一个响应信息中抽取一个值,然后通过 DataSink 测试步骤写入到一个外部文件。
DataGen:允许你创建一个计数器、随机值等的动态的属性。

测试步骤—数据相关,SoapUI Pro 添加了一些测试步骤主要用来与外部数据源交互,可读可写,主要有:

DataSource:允许你从一些外部源文件中读到属性值,外部源文件包含数据库 、EXECL 文件、directories 等,之后可通过使用属性传递等将值作为请求入参或验证响应报文等。
DataSource Loop:与 DataSource 成对出现,主要用在当 DataSource 有多行数据时,可通过 DataSource Loop 循环得到每一行的值来作为入参发起调用,在 SoapUI 中这是一种基于数据驱动的测试。
DataSink:允许你将属性值写到外部存储文件中,如数据库、EXECL 文件等,以供后续分析和处理。

测试步骤—执行流程虽然在测试用例中测试步骤的执行是顺序的,但 SoapUI 提供了一些测试步骤允许我们可以做分支、循环等:

Conditional Goto:检查返回的响应报文中指定的值,并跳转到步骤中符合条件配置的目标步骤。
Delay:根据配置的毫秒数暂停测试步骤的执行。
Run TestCase:转去执行指定的目标测试用例,当某些测试步骤需要在一些用例运行前先被执行,可以使用这种方式进行处理。
DataSource Loop:正如上面所提到的,根据 DataSource 所配置的行数,以每行为一次入参,循环地执行测试用例中特定的某几个步骤。

测试步骤—其它类型,SoapUI 还提供了其它类型的测试步骤,让你可以做任何需要做的事情。Script TestStep测试步骤让我们可以写任意的脚本(包括 groovy 和 javascript)做几乎所有需要做的事情,一般会在以下几个场景使用:

一些无法通过默认的断言机制实现的复杂报文的校验。
复杂的分支或循环。
以数据驱动来生成测试步骤的情况,如从数据库中动态生成测试步骤。
集成外部系统来读写数据。
触发外部的活动或进程,如发送邮件或启动程序。
与用户的交互(对话框等)来得到输入或控制执行。

SoapUI 提供强大的功能,基本上可以满足你所有服务接口的功能测试需求。

对啦,如果需要SoupUI的视频资源,欢迎添加扣扣裙:636859964,入裙后你会有以下【福利】
–1. 裙文件可下载大量软件测试学习资源,每周持续更新,不要白不要
–2. 每周一到周五群内会公布免费软件测试公开课,不听白不听
–3. 裙内每天发布各大城市招聘信息(北上广深居多…)
–4. 裙内有众多测试技术大牛提供问题答疑,不学白不学
–5. 可免费领取软件测试电子版经典书籍(包括《Google软件测试之道》《Python核心编程 第3版》…)
–6. 你不来是你的损失,反正我会一直在原地等你~~

发布了90 篇原创文章 · 获赞 68 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/leboxy/article/details/103539572