SoapUI入门之TestStep用法一(DataSource&DataSource Loop)

说实在的最近也不忙,离第一篇SoapUI入门博客也过去好长时间了,一直没写博客,这东西就这样,开始写了就觉得挺有意思的,也不会有多抵触,但是可笑的,没开头就一直不想动手,古人云:万事开头难是有道理的,

但是我也对自己做出了要求,像大家承诺每月一篇,尽快吧SoapUI系列文章完结,写全,不忘初心!毕竟现在也没做这块了,再不写,该给忘了

现在开始我们的SoapUI集成测试学习之道:

1、SoapUI 入门之创建Project、生成TestCase以及参数化

2、SoapUI 入门之配置Headers,以及将Cookie、Token持久化存储

3、SoapUI 入门之让你爽爽的用上断言

4、SoapUI入门之附件上传和配置Https请求

5、SoapUI入门之TestStep用法一(DataSource&DataSource Loop)

一、前言

1、本文所要提及的是如何在TestCase中添加TestStep,毕竟Soap UI测试用例主要由Project、Test
Suite、Test Case、Test Step四级组成,结构如图1.1

1.1.png

Project:是指一个需要测试的项目
Test Suite:指项目中的一个模块(一组相关测试集合),如登陆模块,登出模块,订单模块等等
Test Case:测试用例,指某一需要测试的模块中,细分小的一个功能或方法
Test Step:测试步骤,实现Test Case的step

2、Test Step
在Soap UI中,Test Step有很多,我会讲解其中一部分用得比较多的,Properties、Property Transfer、DataSource、DataSource Loop、REST Request、Groovy Script、Data Sink、Data Gen、Conditional GOTO、File Wait等。

其中Properties、Property Transfer在《SoapUI 入门之配置Headers,以及将Cookie、Token持久化存储》中已经讲过了,这里就不再重复说明了,有需要去这篇文章温故下。

二、DataSource

Data Source顾名思义:数据来源,它旨在为某个TestCase 中某个api提供数据支持服务。

2.1 添加DataSource

如何添加一个DataSource到Test Case中,在下图2.1中,比较清晰明了,选择TestCase -> 鼠标右键 -> Add Step -> DataSource

2.1.png
2.2 DataSource Type
   DataSource有多种不同的数据来源类型,如下:

   Data Connection: 使用JDBC连接从数据库获取数据。 它类似于JDBC数据源,但使用预定义的JDBC数据库连接。
   Data Generator:  使用内置数据生成器引擎生成数据。
   Excel:   从Excel表中获取数据。
   File:   逐行获取指定文件的内容。
   JDBC:   使用JDBC连接从数据库获取数据。与Data Connection不同,它使用数据源中指定的连接。
   Grid:   获取网格中指定的数据。
   Groovy:  使用Groovy脚本生成数据。
   JSON:    使用JSONPath表达式从JSON内容中分析所需数据。
   XML: 使用XPath表达式从XML内容中分析所需的数据。
   Directory:   迭代指定的目录并获取文件内容。
2.3 DataSource Type的用法

在2.1中添加DataSource后,我们可以选择DataSource的不同type。

  • Data Generator
2.3.png
  • Excel
    如图2.4,这是我们准备的Excel,测试数据,在图2.5中,选取Excel文件目录,然后配置好Worksheet,Properties,Start cell,点击绿色按钮可以查看我们的结果集


    2.4.png
2.5.png
  • File
    File 类型DataSource,将从文本文件中获取数据,它会一行行的读取文件内容,按顺序给Property属性值指定value,以我们指定的分隔符进行分隔。(.txt或者.csv文件)

如图2.6,是我们测试模拟的数据文本文件,在图2.7中,配置后文件路径,Property属性值,分隔符,编码方式后,点击运行,可以在结果集中看到我们的测试数据。

2.6.png
2.7.png
  • JDBC

  • Data Connection
    这两个Type,其实都是使用JDBC,这里尴尬的是呢,我用这两个链接数据老是报错了,链接测试失败。
    这里就不多解释了,贴上原文链接。还是很简单的。
    JDBC Data Source
    Data Connection Data Source

  • Grid
    Grid类型允许您在ReadyAPI中存储数据,而无需依赖外部存储。

2.8.png
  • Groovy
    首先,使用Groovy脚本来获取测试数据,我们需要了解Groovy语法,后面会有章节专门讲下Groovy语法,这里就不过多介绍,大家可以简单网上了解下,大概语法。这里只是讲下在DataSource 中如何使用Groovy脚本获取数据。
2.9.png

如上图,我们这里假设从我们主用户目录获取文件名,然后赋值给File Property属性,
第一步:导入需要的包。
第二步:获得当前这个DataSource的当前行,为后续迭代做准备。
第三步:获得我们的主用户目录。
第四步:申明包含文件名的数组,作为数据源。
第五步:遍历主用户目录,将所有文件名存入数组中。
第六步:以刚才获取的DataSource当前行,如数组大小比较,用作迭代结束的条件(此方法会自动进行循环迭代)
第七步:将数组中的文件名一个个赋值给Property属性值。

  • JSON
    Json类型通过JSON Path表达式来解析Json数据或者Property属性值
3.0.png
  • XML
    XML类型和JSON类型差不多,只是它是使用XPath表达式进行解析,这里就不过多解释了,大家可以自己试试使用下。

  • Directory
    目录呢,就是对指定的文件夹中指定的文件类型进行迭代,然后把文件中的内容赋值给第一个输入的Property属性值,其他属性值为空白。

3.1.png

三、DataSource Loop

DataSource Loop一看这名呢,就赶脚是不是和DataSource有关系,嗯,对了。一般它和DataSource乃成对出现,Loop一词儿表明了它的循环迭代属性,用于循环迭代出与之匹配的DataSource中的数据,赋值给其指定的Requst

3.1 添加DataSource Loop
3.2.png
3.2 DataSource Loop使用

如下图,在图3.3中,我们配置好DataSource Loop,指定DataSource Step作为数据迭代来源,并指定将迭代出的值用于Attachment_upload这个附件上传的Request。

然后在图3.4中,配置Request参数是,我们可以使用Property表达式,使用DataSource的属性值。


3.3.png
3.4.png

四、结语

本章基本就拆解完了,我们主要从众多TestStep中,选取了DataSource和DataSource Loop这对儿好基友来进行拆解。DataSource类别者众,大家都可以尝试去用用,结合DataSource Loop进行数据循环迭代,应用于Request参数中。

下一节我们将讲一下在ReadyAPI中一些其他的TestStep怎么使用的,比如REST Request、Groovy Script、Data Sink、Data Gen、Conditional GOTO、File Wait等等。Thanks♪(・ω・)ノ

申明:禁用于商业用途,如若转载,请附带原文链接。https://www.jianshu.com/p/827e4a1f81d1 蟹蟹(#.#)

你可能感兴趣的:(SoapUI入门之TestStep用法一(DataSource&DataSource Loop))