zoukankan      html  css  js  c++  java
  • 【pytest学习】使用yaml实现用例数据参数化

    一、单个参数列表

    # 单参列表形式等价于

    # @pytest.mark.parametrize('name',['name1','name2'])

    @pytest.mark.parametrize('name',yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login0'])

    二、元组形式的参数

    # 相当于

    # @pytest.mark.parametrize(('name','password'),[('name4','password4'),('name5','password5')])

    @pytest.mark.parametrize(('name','password'),yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login1'])

    三、字典形式的参数

    # @pytest.mark.parametrize('dict1',[{'name':'name7','password':'password7'},{'name':'name8','password':'password8'}])

    # 这时就需要抓字典的key来实现参数化

    @pytest.mark.parametrize('dict1',yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login1'])

    值获取:

    name=dict1['name']

    password=dict1['password']

    四、data.yml文件内容

    #['name1','name2','name3'] 单参列表方式
    test_login0 :
    - 'name1'
    - 'name2'
    - 'name3'
    #[('name4','password4'),('name5','password5'),('name6','password6')]多参列表套元组
    test_login1 :
    -
    - 'name4'
    - 'password4'
    -
    - 'name5'
    - 'password5'
    -
    - 'name6'
    - 'password6'
    #[{'name7':'password7'},{'name8':'password8'},{'name9':'password9'}]
    test_login2 :
    -
    name : 'name7'
    password : 'password7'
    -
    name : 'name8'
    password : 'password8'
    -
    name : 'name9'
    password : 'password9'

     

  • 相关阅读:
    AE开发中实现Control中的各种图形工具的方法(转)
    ArcEngine打开本地数据库
    【ArcMap】
    【ArcCatalog】
    go guid 和uuid生成
    go select 的default
    go select 使得一个 goroutine 在多个通讯操作上等待。
    go channel
    go goroutine
    go io.Reader 接口
  • 原文地址:https://www.cnblogs.com/ricebug2/p/14028673.html
Copyright © 2011-2022 走看看