用soapui进行功能测试-TestSteps的使用

如前所述,TestSteps是soapUI中功能测试的核心构件;每个TestStep都执行一些步骤来验证要测试的功能。 TestSteps默认是依次执行的,但是分支,循环甚至调用其他TestCases有几种可能性,在需要时可以进行复杂的测试。任何数量的TestSteps都可以添加到TestCase中;通过右键单击TestStep列表并选择添加/插入或按TestCase窗口中相应的按钮添加它们:

当选择TestStep时,其右键单击菜单会显示相应的操作,左下角的属性表显示可设置的相关属性,例如下面的SOAP Request TestStep所示:

所以,让我们看看不同类型的TestSteps,然后是几个示例TestCases

采样器

这些是验证服务功能的主要测试步骤。它们主要用于发送或接收消息,然后可以通过标准断言机制(在验证消息中描述)进行验证。采样器接收到的消息的实际内容可以通过其他几种方式进一步使用:

  • 作为资源转移的来源,允许您将消息的一部分传输到某个其他消息(例如,响应于以下请求的会话ID)或属性。
  • 在以下脚本TestStep中进行高级处理和验证
  • 作为使用XML DataSource的DataSource TestStep的源码,允许您使用一个请求的结果来驱动以下TestSteps
  • etc.

目前可以使用以下采样器:

  • SOAP Request
  • REST Request
  • JDBC Request
  • AMF Request
  • HTTP Request
  • MockResponse

您可以根据需要在TestCase中组合多个采样器,并轻松地在它们之间共享数据,例如,您可以使用标准HTTP请求登录到服务,然后在以下SOAP请求中使用检索到的HTTP会话,并最终验证生成的使用JDBC的数据库内容。

Property-related TestSteps

属性管理通常用于参数化TestCase的逻辑和执行的属性。

  • Properties - 允许您定义可选择从文件读取或写入文件的任意数量的属性。这些可以用于请求的参数化,断言等。
  • Property Transfer - 允许您在TestSteps之间传输或提取属性值,例如,您可以从响应消息中提取值,并将其写入数据文件
  • DataGen (SoapUI Pro) - 允许您创建动态属性来创建计数器,随机属性值等。.

Data-related TestSteps

SoapUI Pro添加了许多用于与外部DataSource进行交互的TestSteps,用于读取和写入。这些是:

  • DataSource -允许您从各种外部来源(数据库,Excel文件,目录等)读取属性值,然后可以将其用于填充请求(通过属性转移),验证响应或作为输入用于嵌套DataSources。
  • DataSource Loop - 与DataSource TestStep配对,以允许迭代在DataSource中可用的每一行值执行的TestSteps序列。在soapUI中,这是数据驱动测试的基础。
  • DataSink - 允许您将属性值写入多个外部存储(数据库,Excel等)以供以后分析或处理。

Execution Flow TestSteps

尽管TestCase中TestStep执行的初始流程是顺序的,但是有许多TestStep允许您执行分支,循环等:

  • Conditional Goto - 检查TestCase中先前收到的消息中的值应该跳转到哪个相应配置的目标TestStep。
  • Delay - 暂停执行TestCase配置的毫秒数。
  • Run TestCase - TestCase的执行转移到指定的目标TestCase,根据配置设置此TestCase上的属性。这允许TestCases的强大的模块化,当例如在多个TestCases的开头运行相同的TestSteps序列时,这将是有用的。

Miscellanous

还有一个TestStep可以做任何你想要的;

  • Script TestStep - 脚本TestStep - 持有一个任意脚本(用Groovy或JavaScript编写),几乎可以做任何可能需要的脚本。常用的用法是:

    • 默认断言机制无法达到的复杂验证。
    • 复杂的循环或分支。
    • 对于高级DataDriven场景,修改底层TestCase(例如从数据库动态生成TestSteps)。
    • 与外部系统集成,用于读取或写入数据。
    • 触发外部动作或进程,例如发送电子邮件或启动其他程序。
    • 与用户(对话框,提示等)进行交互以获取输入或控制执行。

结合soapUI Pro中的脚本库,这为所有测试提供了非常强大的基础,因为可以实现大多数用于验证目标服务的功能。

常见操作和设置

所有TestSteps都有从右键菜单可用的一些操作。其中有些是TestStep特定的,一些常见的所有测试步骤:

(此弹出窗口仅用于属性测试步骤,仅具有常见操作,没有特定的属性)

示例TestCase - 简单的登录和注销

我们来看看soapUI附带的示例soapUI项目中的第一个TestCase,“Simple Login and Logout w. Properties Steps”TestCase

该TestCase用于验证我们的目标服务的登录和注销过程,TestSteps如下:

  1. "Properties: Username and Password" - 定义用于参数化登录请求的TestCase中的属性。如果需要,将它们放在这里可以方便地更改和从外部文件读取。
  2. "Property Transfer: Move Username and Password" - 将“属性”步骤中的用户名和密码转移到登录请求的内容,以便相应使用
  3. "Test Request: login" - 将实际的登录请求提交给目标服务,并检查响应是否有错误。
  4. "Property Transfer: Move sessionID" - 将接收到的sessionId从登录请求的响应传输到以下注销请求,因此我们可以看到创建的会话可以按预期方式终止。
  5. "Test Request: logout" - 用从(3)中的登录接收到的sessionId提交注销请求,响应再次被验证包含预期的消息,不是任何错误。

这是一个非常简单的TestCase,它说明了构建TestCase时的一些关键概念:

  • 初始属性TestStep可以实现参数化。
  • 属性在消息之间传输,并使用属性传输下一个测试步骤。
  • 标准SOAP请求TestSteps用于调用和验证目标服务。
时间: 2024-08-03 18:23:27

用soapui进行功能测试-TestSteps的使用的相关文章

用soapui进行功能测试(1)-结构

1. 测试结构 SoapUI将功能测试分为三个层次; TestSuites,TestCases和TestSteps. TestSuite是TestCase的集合,可用于将功能测试分组为逻辑单元.可以在soapUI项目中创建任何数量的TestSuits,以支持大量测试场景. TestCase是TestStep的集合,用于测试服务的某些特定方面.您可以添加任何数量的TestCase到一个TestSuite. TestSteps是soapUI中功能测试的"构建块".它们被添加到TestCas

SoapUI Pro Project Solution Collection-change the JDBC Request behavior

change the jdbc request : 1.change the driver name,connection string,query string or assert. the object we will use here is : JdbcRequestTestStep TestCase newcase=testRunner.getTestCase(); JdbcRequestTestStep step1=(JdbcRequestTestStep) newcase.getTe

Some api interface link of Soapui

Class WsdlTestRequestStep: https://www.soapui.org/apidocs/com/eviware/soapui/impl/wsdl/teststeps/WsdlTestRequestStep.html#run(com.eviware.soapui.model.testsuite.TestCaseRunner, com.eviware.soapui.model.testsuite.TestCaseRunContext) com.eviware.soapui

[SoapUI] 循环遍历某个Test Case下的所有Test Step,将Cookie传递给这些Test Step

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import com.eviware.soapui.support.types.StringToStringMap  //Get cookie's value from the project level properties String cookie = context.expand( '${#Project#cookie}' ) log.info "cookie : "+cookie //Put

soapui中文操作手册(八)----Web服务的功能测试案例

现在,让我们来看看在一个TestCase的功能测试. 展开 Simple TestSuite并双击Simple Login and Logout w. Properties Steps. 正如你所看到的TestCase包括五个TestSteps. 您也可以点击才能看到的测试文档的描述标签. 该步骤包括三个不同类型的TestSteps的; 一PropertyStep,TestRequests和PropertyTransfer.他们做了什么: PropertySteps:存储属性以备后用.在我们的例

用soapui功能测试-使用断言

让我们来看看使用采样器的TestSteps(包括request的TestStep)的Assertion功能如何验证TestStep收到传入的响应或请求.在我们深入了解可用的断言之前,让我们快速概述一下. 断言用于在执行期间验证TestStep接收的消息,通常通过将消息(或整个消息)的部分与某些预期值进行比较.任何数量的断言都可以添加到采样器TestStep中,每个断言都会验证响应内容的一些不同方面.在采样器TestStep执行后,其所有断言将应用于接收到的响应,如果任何一个断言TestStep在

SoapUI实践:自动化测试、压力测试、持续集成

因为项目的原因,前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api.下面将研究的成果展示给大家,希望对需要的人有所帮助. SoapUI 是什么? SoapUI 是一个开源测试工具,通过 soap/http 来检查.调用.实现 Web Service 的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到 Eclipse,maven2.X,Netbeans 和 intellij 中使用. SoapUI 的安装 下载地址,最好下载最新版本安装包,因为 So

soapui接口性能测试(二)---- 模拟不同类型的负载

SoapUI中提供的不同负载策略允许您模拟各种类型的负载,随时间的变化,您可以在许多条件下轻松测试目标服务的性能.由于SoapUI还允许您同时运行多个LoadTests(参见下文的示例),可以使用LoadTests的组合来进一步断言您的服务的行为.从LoadTest窗口中的Strategy工具栏中选择所需的LoadTest策略: 我们来看看可用的不同负载策略,看看如何使用它们来进行不同类型的负载/性能测试. 简单的策略 - 基准,负载和SOAK测试 简单策略运行指定数量的线程,每次运行之间具有指

soapui测试执行

测试执行 所有上述视图都有一个顶部的工具栏,按钮执行包含测试项目. 在TestSuites中,可以按照相应的工具栏按钮进行顺序或并行执行case. TestCase中TestSteps的执行顺序始终按照显示的顺序进行,可以通过专门的测试脚本或脚本来实现分支/循环. 工具栏下方的进度条显示当前执行状态,根据测试结果,颜色为红色或绿色. 由于执行步骤的确切数量不能提前知道(由于脚本多种可能性),进度条可能并不总是显示与执行的步骤数量相符的数字/值. 测试输出 所有上述视图还包含底部的执行日志,显示有