前言

平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦。

fixture里面有个参数autouse,默认是False没开启的,可以设置为True开启自动使用fixture功能,这样用例就不用每次都去传参了。

调用fixture三种方法

1.函数或类里面方法直接传fixture的函数参数名称

2.使用装饰器@pytest.mark.usefixtures()修饰

3.autouse=True自动使用

用例传fixture参数

方法一:先定义go功能(go可以改为任意名字),用例全部传go参数,调用该功能

#test_fix1.py
import pytest
@pytest.fixture(scope="function")
def go(request):print("\n----开始执行function----")
def test_1(go):print("---用例1执行---")
class Test_aaa():def test_2(self,go):print("-----用例2----")def test_3(self,go):print("---用例3---")
if __name__=="__main__":pytest.main(["-s","test_fix1.py"])

装饰器usefixtures

方法二、使用装饰器@pytest.mark.usefixtures()修饰需要运行的用例

#test_fix1.py
import pytest
@pytest.fixture(scope="function")
def go(request):print("\n----开始执行function----")@pytest.mark.usefixtures("go")
def test_1():print("---用例1执行---")@pytest.mark.usefixtures("go")
class Test_aaa():def test_2(self):print("-----用例2----")def test_3(self):print("---用例3---")
if __name__=="__main__":pytest.main(["-s","test_fix1.py"])

设置autouse=True

方法三、autouse设置为True,自动调用fixture功能

go设置scope为module级别,在当前.py用例模块只执行一次,autouse=True自动使用。

xixi设置scope为function级别,每个用例前都调用一次,自动使用。

#test_fix1.py
import pytest
@pytest.fixture(scope="module",autouse=True)
def go(request):print("\n----开始执行module----")print("module:{}".format(request.module.__name__))print("-=-=启动浏览器-=-=")yieldprint("=-=-结束测试 end =-=-")@pytest.fixture(scope="function",autouse=True)
def xixi(request):print("function:{} \n===回到首页===".format(request.function.__name__))def test_1():print("---用例1执行---")class Test_aaa():def test_2(self):print("-----用例2----")def test_3(self):print("---用例3---")
if __name__=="__main__":pytest.main(["-s","test_fix1.py"]) 

运行结果

上面函数写到class里,作用域就只有类里的方法了。

#test_fix1.py
import pytest
@pytest.fixture(scope="module",autouse=True)
def go(request):print("\n----开始执行module----")print("module:{}".format(request.module.__name__))print("-=-=启动浏览器-=-=")yieldprint("=-=-结束测试 end =-=-")def test_1():print("---用例1执行---")class Test_aaa():@pytest.fixture(scope="function", autouse=True)def xixi(self,request):print("\n function:{} ===回到首页===".format(request.function.__name__))def test_2(self):print("-----用例2----")def test_3(self):print("---用例3---")
if __name__=="__main__":pytest.main(["-s","test_fix1.py"])

pytest(十六)--fixture值autouse=True相关推荐

  1. pytest 15 fixture之autouse=True

    前言 平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了.当用例很多的时候,每次都传这个参数,会比较麻烦. fixture里面有个参数autouse,默认是F ...

  2. ABP官方文档(十六)【值对象】

    3.2 ABP领域层 - 值对象 3.2.1 简介 用来描述领域的特殊方面.且没有标识符的一个对象,叫做值对象. 实体有自己的唯一标识,而值对象是没有标识的.如果两个实体的标识是不同的,那么它们是两个 ...

  3. 【pytest】(三) pytest中的fixture (2) : fixture的声明和调用

    目录 1. fixture的声明 2. fixture的调用 2.1 fixture的调用方式 2.1.1 使用fixturename 2.1.2 使用`@pytest.mark.usefixture ...

  4. Python Pytest调用fixture之@pytest.mark.usefixtures()、叠加usefixtures、@pytest.fixture(autouse=True)用法详解

    usefixtures与传fixture区别  如果fixture有返回值,那么usefixture就无法获取到返回值,这个是装饰器usefixture与用例直接传fixture参数的区别. 当fix ...

  5. Pytest_fixture装饰器、调用fixture的三种方法、usefixtures与传fixture区别、fixture自动使用autouse=True

    1.调用fixture方法1:函数或类的方法直接传fixture的函数参数名称 import pytest@pytest.fixture(scope="function") # 此 ...

  6. 判断按键值_「正点原子NANO STM32开发板资料连载」第十六章电容触摸按键实验...

    1)实验平台:ALIENTEK NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第十六章电容 ...

  7. C语言编程>第二十六周 ① 函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

    例题:函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换.形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动. 例如,若a所指数组中的数据依次为:11 22 33 ...

  8. [Python从零到壹] 五十六.图像增强及运算篇之图像平滑(中值滤波、双边滤波)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. 第十六章 使用系统监视器 - 系统监视器默认值

    文章目录 第十六章 使用系统监视器 - 系统监视器默认值 系统监视器默认值 默认系统监视器组件 默认系统监视器命名空间 默认系统监视器设置 第十六章 使用系统监视器 - 系统监视器默认值 系统监视器默 ...

最新文章

  1. 编写自己的Shell解释器
  2. Python 里面如何生成随机数?
  3. 0.Overview----Machine Learning
  4. 揭秘大流量场景下发布如「丝般顺滑」背后的原因
  5. 微信小程序直播助力深圳线上购物节 数百场品牌小程序开播
  6. LNMP架构的搭建--源码编译(MYSQL,PHP,nginx)
  7. Powershell-获取Hyper-V复制状态
  8. 美图拟收购乐游科技附属公司约30%股份 后者为Warframe开发商
  9. H5 学习之旅-H5表格(7)
  10. 基于FPGA的简单视频传输方案设计
  11. log4cxx的使用
  12. 2022年山东省熔化焊接与热切割作业(特种上岗操作证)模拟试题及答案
  13. 工程师小哥魔术揭秘“三仙归洞”,把我都看蒙了!
  14. ti芯片怎么成为一站式的代理
  15. lpfs存储服务器怎样维护,ipfs云节点存储服务器
  16. houdini 函数基础
  17. Direct Sparse Odometry (一)初始化过程中的光度误差优化
  18. infiniband获悉
  19. linux打开txt文件命令_Linux怎么查看命令文件位置
  20. pqc的中文全称_OQC 、PQC、LQC、OQA的英文分别是什么?主要做什么?

热门文章

  1. k8s之ConfigMap详细理解及使用
  2. 两晋南北朝·高洋(下)
  3. 阿里巴巴信息排名规则及搜索优化
  4. DTOJ3702 月读(tsukuyomi)
  5. airbnb宣布放弃使用react-native
  6. proteus仿真控制电机正转、反转和停止转动
  7. 用Python学《微积分B》(定积分)
  8. 当新到达一个城市的时候,会收到一条该城市欢迎你的短信的原因和原理
  9. 人体日常消耗千卡(大卡)或千焦
  10. 产品经理如何入门,没人带的情况下如何学习?