51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2844|回复: 2
打印 上一主题 下一主题

[讨论] SOAPUI中文教程---测试步骤

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-3 15:50:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如前所述,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中组合多个采样器,并轻松地在它们之间共享数据,例如,您可以使用标准HT
TP请求登录到服务,然后在以下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中可用的每一行值执行的Test
Steps序列。在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如下:


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


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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情

    2024-2-19 21:55
  • 签到天数: 556 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2018-4-18 12:39:25 | 只看该作者
    下载地址放出来哦!!!!!最好...............
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-4 00:05 , Processed in 0.068522 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表