pytest_fixture-----conftest共享数据及不同层次共享

场景:你与其他测试工程师合作一起开发时,公共的模块要在不同文件中,要

在大家都访问到的地方。

  • 解决:使用conftest.py 这个文件进行数据共享,并且他可以放在不同位置起 着不同的范围共享作用。

  • 前提:conftest文件名是不能换的,放在项目下是全局的数据共享的地方,全 局的配置和前期工作都可以写在这里,放在某个包下,就是这个包数据共享的 地方。

  • 执行:系统执行到参数login时先从本文件中查找是否有这个名字的变量什么 的,之后在conftest.py中找是否有。

  • 步骤:将登陆模块带@pytest.fixture写在conftest.py

 

conftest.py下面的代码:
import pytest
@pytest.fixture()
def login():
print("\n输入用户名密码登陆! configtest")


pytest_fixture下面的代码:
def test_cart(login):
print('用例1,登陆后执行添加购物车功能操作')

def test_search():
print('用例2,不登陆查询功能操作')

def test_pay(login):
print('用例3,登陆后执行支付功能操作')

执行结果:

ytest_fixture.py::test_cart
输入用户名密码登陆! configtest
PASSED [ 33%]用例1,登陆后执行添加购物车功能操作

pytest_fixture.py::test_search PASSED [ 66%]用例2,不登陆查询功能操作

pytest_fixture.py::test_pay 

输入用户名密码登陆! configtest
PASSED [100%]用例3,登陆后执行支付功能操作

 

posted on 2019-09-21 22:31  barton123  阅读(532)  评论(0编辑  收藏  举报

导航