美文网首页
参数化数据驱动

参数化数据驱动

作者: 小娟_bb93 | 来源:发表于2020-03-12 18:45 被阅读0次

在自动化测试中,经常会遇到如下场景:

测试搜索功能,只有一个搜索输入框,但有 10 种不同类型的搜索关键字;
测试账号登录功能,需要输入用户名和密码,按照等价类划分后有 20 种组合情况。
这里只是随意找了两个典型的例子,相信大家都有遇到过很多类似的场景。总结下来,就是在我们的自动化测试脚本中存在参数,并且我们需要采用不同的参数去运行。

经过概括,参数基本上分为两种类型:

单个独立参数:例如前面的第一种场景,我们只需要变换搜索关键字这一个参数
多个具有关联性的参数:例如前面的第二种场景,我们需要变换用户名和密码两个参数,并且这两个参数需要关联组合
然后,对于参数而言,我们可能具有一个参数列表,在脚本运行时需要按照不同的规则去取值,例如顺序取值、随机取值、循环取值等等。

这就是典型的参数化和数据驱动。

从 2.0.0 版本开始,HttpRunner 不再支持在测试用例文件中进行参数化配置;参数化的功能需要在 testsuite 中实现。如需实现数据驱动机制,需要创建一个 testsuite,在 testsuite 中引用测试用例,并定义参数化配置。

参数配置

如需对某测试用例(testcase)实现参数化数据驱动,需要使用 parameters 关键字,定义参数名称并指定数据源取值方式。

参数名称的定义分为两种情况:

  • 独立参数单独进行定义;
  • 多个参数具有关联性的参数需要将其定义在一起,采用短横线(-)进行连接。

数据源指定支持三种方式:

  • 在 YAML/JSON 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况
  • 通过内置的 parameterize(可简写为P)函数引用 CSV 文件:该种方式需要准备 CSV 数据文件,适合数据量比较大的情况
  • 调用 debugtalk.py 中自定义的函数生成参数列表:该种方式最为灵活,可通过自定义 Python 函数实现任意场景的数据驱动机制,当需要动态生成参数列表时也需要选择该种方式

三种方式可根据实际项目需求进行灵活选择,同时支持多种方式的组合使用。假如测试用例中定义了多个参数,那么测试用例在运行时会对参数进行笛卡尔积组合,覆盖所有参数组合情况。

定义独立参数
  • login_api.yml,需要传入两个参数,这里以参数化phone为例:


  • login_case.yml引用login_api.yml


  • login_testsuite.yml 定义参数化phone并指定传入的参数值


定义多个参数
  • login_testsuite.yml 定义参数化phone、securitycode并指定传入的参数值


定义数据源指定参数列表

相关文章

  • 学习笔记-参数化

    1. 参数化 根据传入的数据,对测试用例进行迭代调用,参数化是数据驱动的基础 2. 数据驱动 基于数据完成流程调度...

  • Pytest和Allure测试框架-超详细版+实战4

    四,参数化与数据驱动框架实现 参数化1 参数化2: 单个参数附上多个值 参数化3: 多个参数的 参数化4: 登录参...

  • 参数化数据驱动

    在自动化测试中,经常会遇到如下场景: 测试搜索功能,只有一个搜索输入框,但有 10 种不同类型的搜索关键字;测试账...

  • pytest测试框架-数据驱动 yaml/excel/csv/j

    数据驱动:数据的改变从而驱动自动化测试用例的执行,最终引起测试结果的改变。简单说就是参数化的应用。 测试驱动在自动...

  • 自动化测试之参数化

    (一)参数化 1.参数化:根据传入的数据,对测试用例进行迭代调用 2.数据驱动:基于数据完成流程调度,通常数据来源...

  • parametries数据驱动参数化

    在测试用例的前面加上:@pytest.mark.parametrize('参数名', 列表数据) 参数名:用来接收...

  • Pytest 参数化

    参数化,就是把测试过程中的数据提取出来,通过参数传递不同的数据来驱动用例运行。其实也就是数据驱动的概念。 在 Un...

  • python自动化框架pytest(三)--数据驱动(参数化)

    参数化,就是把测试过程中的数据提取出来,通过参数传递不同的数据来驱动用例运行。其实也就是数据驱动的概念。 在 Un...

  • TestNG+HttpClient+Excel数据驱动测试

    数据驱动测试 数据驱动测试的核心是:测试数据与测试脚本分离,实现测试脚本参数化,提高测试脚本的可重用性。在自动化功...

  • python ddt

    简介:Data Driven Testing,数据驱动,简单来说就是测试数据的参数化 安装 基本使用 @data(...

网友评论

      本文标题:参数化数据驱动

      本文链接:https://www.haomeiwen.com/subject/vyavjhtx.html