zoukankan      html  css  js  c++  java
  • HttpRunner--参数化操作(parameters)

    转自https://www.cnblogs.com/XhyTechnologyShare/p/12056814.html

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

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

    参数名称的定义分为两种情况:独立参数单独进行定义;多个参数具有关联性的参数需要将其定义在一起,采用短横线(-)进行连接。

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

    1.在 YAML/JSON 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况

    2.通过内置的 parameterize(可简写为P)函数引用 CSV 文件:该种方式需要准备 CSV 数据文件,适合数据量比较大的情况

    3.调用 debugtalk.py 中自定义的函数生成参数列表:该种方式最为灵活,可通过自定义 Python 函数实现任意场景的数据驱动机           制,当需要动态生成参数列表时也需要选择该种方式。

    参数配置详解

    1.独立参数 & 直接指定参数列表

     2.关联参数 & 直接指定参数列表

    3.独立参数 & 引用 CSV 文件

    对于 CSV 数据文件,需要遵循如下几项约定的规则:

    1.CSV 文件中的第一行必须为参数名称,从第二行开始为参数值,每个(组)值占一行;

    2.若同一个 CSV 文件中具有多个参数,则参数名称和数值的间隔符需实用英文逗号;

     

     4.关联参数 & 引用 CSV 文件

     

    5.独立参数 & 自定义函数

    6.关联参数 & 自定义函数

    独立参数和关联参数 在自定义函数中是一样的,需要注意的是,在自定义函数中,生成的参数列表必须为 list of dict 的数据结构,该设计主要是为了与 CSV 文件的处理机制保持一致。

    7.如果想要实现多个参数的随机组合可以在parameters中指定多个参数,系统会按照笛卡尔积的概念执行行。

    例如:

  • 相关阅读:
    iOS开发--UILabel可以显示
    网络编程之IO模型——IO模型比较分析
    网络编程之IO模型——异步IO
    网络编程之IO模型——多路复用IO
    网络编程之IO模型——非阻塞IO
    网络编程之IO模型——阻塞IO
    Linux基本命令
    Linux界面介绍
    Linux系统目录介绍
    Linux的前世今生
  • 原文地址:https://www.cnblogs.com/jodie2019/p/12664530.html
Copyright © 2011-2022 走看看