测试框架Pytest实战(二)

一、Fixture夹具实现用例前后置

1.定义夹具
    @pytest.fixture(scope="class", autouse=True, ids="dd", name="别名")
    def execute_sql(self):
        print("执行数据库的验证,查询数据库")
        yield
        print("关闭数据库")

 scope参数代表夹具执行时作用的作用域:

  • function:在每个方法(测试用例)前后执行一次
  • class: 在每个类的前后执行一次
  • module:在每个py文件前后执行一次
  • package/session: 在每个package前后执行一次

autouse=True参数代表自动调用。

params参数用来传输数据(list, tuple,字典列表,字典元组),使用时需要在夹具里面通过request接收,然后通过request.param获取数据,然后在通过yield把数据返回到测试用例中。

2.调用夹具:

在用例里面直接使用函数调用

yield 和return,都可以返回值,并且返回的值可以再测试用例中获取

yield 有叫生成器,返回的值为一个对象,return返回的是一个值。

二、 Fixture 与 conftest.py的使用

  1. conftest.py 主要用于单独的存放fixture固件。
  2. 级别为package,sesion时,那么可以在多个包甚至多个py文件里面共享前后置。                      举例:登录                                                                                                                              
  3. conftest.py 文件里面的fixture不需要导包可以直接使用。
  4. conftest.py文件,可以有多个。

作用:出现重复日志,初始化一次日志对象。规避日志重复。连接数据库。关闭数据库。

注意:多个前置出现时的优先级

conftest.py 的级别高于setup/teardown

依登录模块举例,所有的平台登陆都属于共用功能:

1. 在testcases目录下新建conftest.py文件。

import pytest


@pytest.fixture(scope="function")
def manage_login():
    print("Hi,Dear,账号登录成功,进入管理平台进行电站维护!!")
    yield

2.  在使用conftest内的固件时,不需要导包操作,只需要在测试用例的参数中添加定义的固件函数即可。

    @pytest.mark.smoke
    def test_api01login(self, manage_login):
        print('账号密码验证通过')

    @pytest.mark.smoke
    def test_api02login(self, manage_login):
        print("查询运营电站列表")

    @pytest.mark.smoke
    def test_api03login(self, manage_login):
        print('查询本月充电趋势')

三、allure-pytest 生成测试报告

3.1 下载allure文件
  1. 官网下载allure文件:https://github.com/allure-framework/allure2/releases/tag/2.29.0
  2. 解压到非中文的目录。
  3. 将解压得到的文件bin目录 路径配置到系统变量中。
3.2 安装allure报告
pip install allure-pytest

验证版本:allure --version

无法查看到版本号时,可以重启pycharm

3.3 执行命令,生成报告

1.在reports目录下生成temps目录,并且在temps目录下生成临时的json格式的临时报告

在pytest.ini文件中配置生生成临时json文件的参数

addopts = -vs --alluredir=reports/temps --clean-alluredir -m smoke

2. 在运行测试用例的主函数中配置运行json文件

os.system("allure generate reports/temps -o reports/allures --clean")

3.执行完以上步骤后,查看目录结构和报告内容

 

  • 26
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值