首页 > 其他分享 >PlayWright(二十)- Pytest之conftest文件

PlayWright(二十)- Pytest之conftest文件

时间:2023-07-19 16:26:09浏览次数:31  
标签:文件 PlayWright py fixture 用例 conftest Pytest test

1、介绍与使用场景

conftest.py 这个是什么呢?   顾名思义,他就是一个文件,那这个文件是干什么用的呢?   在我们上文中,用了fixture函数是直接在用例的文件里定义的,那不能我们所有的用例想用到fixture都一个个定义吧,所以Pytest提供了一个conftest.py文件,这样呢,就可以把我们的fixture函数存放到这里   有人会问,我们用这个,具体可以干啥呢?   举个例子,我们做ui自动化,首先第一步会登录获取token,然后接着其他操作,在其他操作前都有登录这个功能,所以其他操作就是一个个用例函数,而登录获取token就可以前置,然后使用fixture函数,那这个函数就可以用到conftest.py文件   当然,既然是别人封装好的功能,那肯定有对应的规则,conftest.py文件也有他的规则
  • conftest.py文件名字是固定的,不可以做任何修改
  • conftest.py文件和用例文件在同一个目录下,那么conftest.py作用于整个目录
  • conftest.py文件所在目录必须存在__init__.py文件
  • conftest.py文件不能被其他文件导入
  • 所有同目录测试文件运行前都会执行conftest.py文件
  还要补充两点: 1、不同目录可以有自己的conftest.py,一个项目中可以有多个conftest.py 2、pytest会自动查找项目中的conftest.py文件,逐层往上查找  

2、实战环节

我们还是直接看实战吧 首先创建目录:   conftest.py文件代码:
import pytests
@pytest.fixture(scope='class')
def set():
    print("用例前的登录操作")

 

 

test_01.py文件代码:
class Test_Demo1():

    def test_01(self, set):
        print('用例-搜索功能执行')

    def test_02(self, set):
        print('用例-输入功能执行')

 

  test_02.py文件代码:
class Test_Demo1():

    def test_01(self, set):
        print('用例-购买功能执行')

 

  这里在做实战的时候,作者犯了两个错误: 第一个没有__init__文件 第二个是没有在用例函数中引入fixture参数名   我们执行下结果看下:  

标签:文件,PlayWright,py,fixture,用例,conftest,Pytest,test
From: https://www.cnblogs.com/nuomituan/p/17565916.html

相关文章

  • pytest库
    pytest官网文档地址:https//docs.pytest.org安装pip3installpytest1.pytest基本使用1.1pytest默认测试用例规则(1)模块名必须以test_开头或者_test结尾(2)测试类必须以Test开头,并且不能有ini方法(3)测试方法必须以test开头1.2pytest测试用例运行方式1.2.1命令行运行pytest[o......
  • 超详细的 pytest 教程 (三) 之前后置方法和 fixture 机制
    这一篇文章专门给大家讲解pytest中关于用例执行的前后置步骤处理,pytest中用例执行的前后置处理既可以通过测试夹具(fixtrue)来实现,也可以通过xunit风格的前后置方法来实现。接下来我们一起看看如何具体使用。一、xunit风格的前后置方法1、函数用例的前后置方法在模块中......
  • 超详细的 pytest 教程 (二) 之测试报告篇
    这个章节主要给大家介绍pytest如何集成测试报告。pytest本身是没有生成测试报告的功能,但是pytest中有很多插件,我们可以通过插件来生成测试报告。下面会给大家介绍两个生成报告的方式。一个是生成html报告,一个是集成allure报告平台来展示测试报告。一、生成HTML报告1.1、安装......
  • 超详细的 pytest 教程(一)使用入门篇
    前言pytest到目前为止还没有翻译的比较好全面的使用文档,很多英文不太好的小伙伴,在学习时看英文文档还是很吃力。本来去年就计划写pytest详细的使用文档的,由于时间关系一直搁置,直到今天才开始写。本文是第一篇,主要介绍pytest的入门使用,后续会分篇针对pytest中的各个功能出详细的......
  • pytest测试实战
    电子pdf下载链接:目录: ......
  • PlayWright(十九)- Pytest之fixture测试夹具
    fixture是Pytest的测试夹具,相当于unittest的setup和teardown,这个在之前我们也有介绍setup和teardown详情可看:https://www.cnblogs.com/nuomituan/p/17541815.html  那为什么我们不用setup和teardown呢,因为我们使用fixture更加灵活,具体有独立的命名,然后呢,还可以按模块化的方......
  • pytest + yaml 框架 -52.支持 websocket 协议
    前言v1.4.2版本支持websocket协议python操作websocket协议环境准备pip3installwebsocket-clientpip3installwebsockets基本代码示例fromwebsocketimportcreate_connectionimportjsonurl='ws://localhost:8081/ws'ws=create_connection(url,timeout......
  • 2. pytest框架环境搭建
      1.安装pytest1安装pytest:pippytest23三方插件:45pipinstallXXX67pytest-xdist(分布式测试)8pytest-selenium(集成selenium)9pytest-html(完美html测试报告---原生态)10pytest-rerunfailures(失败case重复执行)11pytest-forked12allure-pyte......
  • pytest---更改自动化测试用例执行顺序
    前言在自动化测试中,自动化测试用例设计原则就是执行过程时不能存在依赖顺序,那么如果测试用例需要按照指定顺序执行,这个时候应该怎么做呢?目前单元测试框架中unittest没有办法改变测试用例的执行顺序,但是另一个单元测试框架pytest可以做到,辅助测试人员更改测试用例的执行顺序,今天小......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-8-上下文(Context)
    1.简介其实前边的文章中也提到过Context,只不过是一笔带过,但是宏哥觉得在playwright中挺重要的,所以宏哥今天单独将其拎出来讲解和分享一下,希望对您有所帮助或者参考。2.前言Playwright为每个测试创建一个浏览器上下文,即BrowserContext,浏览器上下文相当于一个全新的浏览器配置文......