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 ...
随机推荐
- RabbitMQException com.rabbitmq.client.ShutdownSignalException: connection error; protocol meth
异常1 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ...
- 多图详解Go的sync.Pool源码
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的go的源码时14.4 Pool介绍 总所周知Go 是一个自动垃圾回收的编程语言 ...
- 超级电容(Supercapacitor) 和电池的比较
之前看到同事在电路设计里使用了超级电容来进行供电,好奇为什么没有用到普通的电池,于是就是找了找两个的区别.有篇文章讲得挺好,所以就直接翻译一下. 超级电容有点像普通电池和一般电容的结合体,能比一般的电 ...
- eclipse 4.4安装aptana插件
eclipse 4.4安装aptana插件: 1.地址: http://download.aptana.com/studio3/plugin/update/index.html.在线安装即可成功! 2 ...
- 如何根据角色批量激活SAP Fiori服务
我们知道Fiori的角色跟ERP的角色是不通用的,即使你的账号有SAP_ALL的权限,但打开Fiori的时候一样是空的一片: 只有给账号加上fiori需要的角色,并激活相关服务才能用fiori app ...
- ROS开源小车TurtleBot3详情介绍(Burger)
您为什么要选择ROS开源智能小车 ROS(RobotOperating System,机器人操作系统)是目前世界上更主流更多人使用的的机器人开源操作系统.它可以提供操作系统应有的服务,包括硬件抽象,底 ...
- mysql 双主复制 centos7
mysql 安装请看:http://www.cnblogs.com/leohe/p/6839705.html 双主复制设置 1. 两台虚拟机,都是 centos7 主: 10.1.1.115 从: 1 ...
- 在php里做js操作
'echo <script>js_operation</script>';
- [从源码学设计]蚂蚁金服SOFARegistry 之 服务注册和操作日志
[从源码学设计]蚂蚁金服SOFARegistry之服务注册和操作日志 目录 [从源码学设计]蚂蚁金服SOFARegistry之服务注册和操作日志 0x00 摘要 0x01 整体业务流程 1.1 服务注 ...
- ping 路由跟踪
pathping: pathping ip地址/网址 C:\Users\Administrator>pathping 119.29.18.11 通过最多 30 个跃点跟踪到 119.29.18. ...