08-pytest-fixture参数化params

目录

前言

参数介绍​

单条数据传参

多条数据传参


前言  

  • 应用场景:在写自动化case时,数据与脚本分离,数据尽量不要在脚死

参数介绍

单条数据传参

# -*- coding: utf-8 -*-
# @Time    : 2021/10/10
# @Author  : 大海
import pytest

# 测试数据,存放在list
user_data = ["chrome", "firefox"]


@pytest.fixture(params=user_data)
def open_browser(request):
    return request.param


def test_register(open_browser):
    print("打开{}浏览器".format(open_browser))


if __name__ == '__main__':
    pytest.main(["-s", "test_10.py"])

多条数据传参

# -*- coding: utf-8 -*-
# @Time    : 2021/10/10
# @Author  : 大海
# @File    : test_12.py

import pytest

# 测试数据,存放在字典中,最外层必须是列表
user_data = [{'user': '大海', 'pwd': '12345'}, {'user': '小白', 'pwd': '67890'}]


@pytest.fixture(params=user_data)
def open_browser(request):
    # request.param 可以接收传入的参数
    print('这是param', request.param)
    # 一个字典相当于一条参数,通过key获取字典中的值
    print('用户名:{}'.format(request.param['user']))
    print('密码:{}'.format(request.param['pwd']))
    return request.param


def test_register(open_browser):
    # open_browser 就是返回值 request.param
    print('用户名:{} 密码:{}'.format(open_browser['user'], open_browser['pwd']))


if __name__ == '__main__':
    pytest.main(["-s", "test_12.py"])

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值