自动化测试进阶之路(笔记1)

一、使用fixtrue固件结合contest.py文件实现前后置

装饰器:

@pytest.fixtrue(scope="作用范围", autouse=“自动执行”, ids="参数别名", params=[["参数1", “参数2”]], name=“固件别名”)
scope:function 函数
scope:class  类
scope:module 模块
scope:session 会话

在一个文件中设置的固件fixtrue只能在当前文件起作用,如果希望对所有的py文件起作用,那需要结合conftest.py文件。

定义:
@pytest.fixture(scope="function", params=[1, 2, 3, 5], name="aaa")
def my_fixture(request):
    print('这是前置的方法,可以实现部分以及全部用例的前置')
    yield request.param
    print('这是后置的方法')
    
使用:
def test_01_interface_method(self, aaa):
     time.sleep(1)
     print("测试 interface_method" + aaa)

分层级执行前后置,其中先执行外层的conftest.py,后面再执行子层文件夹的conftest.py。
在这里插入图片描述

二、接口自动化测试框架封装之通过文件保持中间变量实现接口关联

# 读取yaml
def read_yaml():
    with open('config/config.yaml', mode='r', encoding='utf-8') as f:
        value = yaml.load(stream=f, Loader=yaml.FullLoader)
        return value


# 写入
def write_yaml(key):
    # a+ 是拼接的方式
    with open('config/config.yaml', mode='a+', encoding='utf-8') as f:
        value = yaml.dump(data, stream=f, allow_unicode=True)
        return value[key]


# 清空 (通过fixtrue夹具,放在请求之前去执行)
def clear_yaml():
    with open('config/config.yaml', mode='w', encoding='utf-8') as f:
        f.truncate()

原因:
1、类变量不能夸文件使用
2、统一管理中间变量

什么时候清空?
请求之前去清空

三、学习流程:

先工具 -> 自动化 -> 性能 -> 测开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值