pytest:conftest.py文件
一、fixture scope 为session 级别是可以跨 .py模块调用的,也就是当我们有多个 .py文件的用例时,如果多个用例只需调用一次fixture,可以将scope=‘session’,并且写到conftest.py文件里。写到conftest.py文件可以全局调用这里面的方法。使用的时候不需要导入conftest.py文件。使用conftest.py的规则:
1.conftest.py这个文件名是固定,不可以更改
2.conftest.py 与运行用例在同一个包下,并且该包中有__int__.py文件
3.使用的时候不需要导入conftest.py ,pytest会自动识别到这个文件
4.放到项目的根目录下可以全局调用,放到某个package 下,就在这个package 内有效
案例:
在运行整个项目下的所有用例,只执行一次打开浏览器。执行完所有的用例之后再执行关闭浏览器,可以在这个项目下创建一个conftest.py文件,将打开浏览器操作的方法
放在这个文件下,并添加一个装饰器 @pytest.fixture(scope='session'),就能够实现整个项目所有测试用例的浏览器复用,案例目录结构如下:

创建目录test_scope,并在目录下创建三个文件conftest.py test_scope1.py和test_scope2.py
conftest.py文件定义了公共方法,pytest会自动读取conftest.py定义的方法,代码如下
#!/usr/bin/env python
# _*_coding: utf-8 _*_ import pytest @pytest.fixture(scope="session")
def open():
print("打开浏览器")
yield print("执行teardown !")
print("关闭浏览器")
创建文件test_scope1.py代码如下:
!/usr/bin/env python
# _*_coding: utf-8 _*_ import pytest def test_search1(open):
prin("test_search1")
pass def test_search2(open):
print("test_search2")
pass def test_search3(open):
prin("test_search3")
pass
创建test_scope2.py 代码如下
#!/usr/bin/env python
# _*_coding: utf-8 _*_ class TestFunc():
def test_case1(self):
print("test_case1,需要登入") def test_case2(self):
print("test_case2,不需要登入") def test_case3(self):
print("test_case3,需要登入")
打开CMD,进入目录test_scope执行如下命令
pytest -v -s
或者
pytest -v -s test_scope1.py test_scope2.py

pytest:conftest.py文件的更多相关文章
- 『德不孤』Pytest框架 — 14、Pytest中的conftest.py文件
目录 1.conftest.py文件介绍 2.conftest.py的注意事项 3.conftest.py的使用 4.不同位置conftest.py文件的优先级 5.conftest.py中Fixtu ...
- Pytest框架中,conftest.py文件的作用?
conftest.py文件,它主要是实现fixture共享的. 第一,conftest.py文件当中,它储存的都是fixture,就是给用例提供做前置准备工作和后置清理工作的一个东西: 第二,conf ...
- pytest进阶之conftest.py
前言 前面几篇随笔基本上已经了解了pytest 命令使用,收集用例,finxture使用及作用范围,今天简单介绍一下conftest.py文件的作用和实际项目中如是使用此文件! 实例场景 首先们思考这 ...
- Pytest系列(6) - conftest.py的详细讲解
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 什么是conftest.py 可以 ...
- Pytest学习(六) - conftest.py结合接口自动化的举例使用
一.conftest.py作用 可以理解成存放fixture的配置文件 二.conftest.py配置fixture注意事项 pytest会默认读取conftest.py里面的所有fixture co ...
- pytest框架+conftest.py配置公共数据的准备和清理
1.pytest介绍:1.自动发现测试模块和测试方法 2.断言使用 assert+表达式即可 3.可以设置会话级.模块级.类级.函数级的fixture 数据准备+清理工作 4.丰富的插件库,==all ...
- Pytest conftest共享数据及不同层次共享
数据共享:在 conftest.py配置里写方 法可以实现数据共享, 不需要import导入.可 以跨文件共享 1.建立一个新的文件,文件名必须叫"conftest.py",然后写 ...
- pytest-fixture之conftest.py
场景: 对于一个py文件中某些用例需要前置条件,某些用例不需要前置条件的情况,使用setup/teardown肯定是不方便的, 这时就需要自定义测试用例的前置条件. 1.fixture优点: 命名不局 ...
- pytest 多个PY文件执行共享变量及用fixture和conftest
------------恢复内容开始------------ 1.pytest需要测试多个py文件,这些文件有一定的依赖关系,同时执行的时候,需要只执行一次初始化setup,结束再执行一次teardo ...
随机推荐
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- C# NPOI Excel多级表头导出多个表
下载地址:https://files.cnblogs.com/files/netlock/NPOIDemo.rar
- 关于yaml文件格式和bootstrap文件
yaml文件格式简洁层次分明 语法规则如下 大小写敏感 使用缩进表示层次关系 在缩进时不允许使用tab键,只允许使用空格 缩进的空格不重要,只要相同层级的元素左侧对齐即可(相同缩进为同一级) serv ...
- React Hook 入门使用
React Hook 是什么 1.没有比官网说的更好的 HOOK 1. React Hook 官方 2. 用我们自己的话说,它是一个钩子函数,用来处理组件间的状态的一个方法,暂时理解为一个高阶函数吧. ...
- npm国内淘宝镜像
理由 由于npm的registry地址是国外的,速度很慢,所以推荐使用淘宝镜像:https://registry.npm.taobao.org 配置方法 临时配置 npm --registry htt ...
- mapboxgl实现带箭头轨迹线
最近在使用mapboxgl实现轨迹展示时,想实现类似高德地图导航轨迹效果,然而并未在网上找到类似示例.经一番研究与尝试,最终解决,效果如下. 添加箭头核心代码如下,只需在配置layout中添加symb ...
- Hbase原理(转学习自用)
一.系统架构 从HBase的架构图上可以看出,HBase中的组件包括Client.Zookeeper.HMaster.HRegionServer.HRegion.Store.MemStore.Stor ...
- C#扫盲篇(一):反射机制--情真意切的说
在一线编码已有多年,积累了不少非常实用的技能,最近的更新会逐步的分享出来,希望能帮助到还有一丢丢喜欢.Net的朋友,当然这些都比较适合入门选手,虽然自己已是个精通抄代码的老猿,但技术造诣仍是渣渣. 犹 ...
- Mirai框架qq机器人教程
Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...
- jquery表格插件Datatables使用、快速上手
Datatables使用 一.简介 官网:https://datatables.net/ 中文官网:http://datatables.club/ Datatables是一款jquery表格插件.它是 ...