IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> pytest第二版 进阶学习 -> 正文阅读

[开发测试]pytest第二版 进阶学习

pytest 框架实现一些前后置(固件,夹具)的处理,常用三种。

一、setup/teardown,setup_class/teardown_class

为什么需要这些功能
比如: web自动化执行用例之前, 需要打开浏览器, 执行之后需要关闭浏览器

import pytest

# 所有的用例之前都会执行一次
def setup():
    print('\n在执行测试用例之前初始化的代码: 打开浏览器')
    

# 在类中只会执行一次
def setup_class():
    print('\n在执行每个类之前的初始化工作')


@pytest.mark.smoke
def test_html_001():
    print('这是一个html的测试函数')


def test_html_002():
    print('这是一个html_002的测试函数')


# 所有的用例执行之后执行一次
def teardown():
    print('\n在执行测试用例之后的扫尾的代码 关闭浏览器')
    
# 最后的扫尾工作,只执行一次
def teardown_class():
    print('\n在每个类执行后的扫尾的工作: 比如销毁日志,销毁链接')

二、使用fixture装饰器来实现部分用例的前后置

装饰器
@pytest.fixture(scope=’’, name=’’, params=’’, autouse=’’, ids=’’)

  1. scope表示的是被@pytest.fixture标记的方法的作用域,默认为function, 还有class, module, package/session
  2. params: 参数化
  3. autouse: 自动使用,默认为false
  4. ids: 当使用params参数化的时候,给每一个值设置一个变量
  5. name: 给表示的是被@pytest.fixture标记的方法取一个别名(当取了别名之后, 那么原来的名称就不用了)

import pytest


@pytest.fixture(scope='function', name='project', params=['成龙', '甄子丹', '李连杰'], autouse=True, ids=['cl', 'zzd', 'llj'])
def my_fixture_01(request):
    print('这是前后置的方法,可以实现部分以及全部用例的前后置')

    yield request.param

    print('只是后置的方法')


class TestFixture:
    def test_fixture(self):
        print('这是一个test_fixture的测试函数')


def test_fixture_001(project):
    print('这是一个test_fixture_001的测试函数  '+ str(my_fixture_01))

执行结果

src/html_web/test_fixture.py::TestFixture::test_fixture[cl] 这是前后置的方法,可以实现部分以及全部用例的前后置
这是一个test_fixture的测试函数
PASSED只是后置的方法

src/html_web/test_fixture.py::TestFixture::test_fixture[zzd] 这是前后置的方法,可以实现部分以及全部用例的前后置
这是一个test_fixture的测试函数
PASSED只是后置的方法

src/html_web/test_fixture.py::TestFixture::test_fixture[llj] 这是前后置的方法,可以实现部分以及全部用例的前后置
这是一个test_fixture的测试函数
PASSED只是后置的方法

src/html_web/test_fixture.py::test_fixture_001[cl] 这是前后置的方法,可以实现部分以及全部用例的前后置
这是一个test_fixture_001的测试函数  <function my_fixture_01 at 0x7fb1d92e9170>
PASSED只是后置的方法

src/html_web/test_fixture.py::test_fixture_001[zzd] 这是前后置的方法,可以实现部分以及全部用例的前后置
这是一个test_fixture_001的测试函数  <function my_fixture_01 at 0x7fb1d92e9170>
PASSED只是后置的方法

src/html_web/test_fixture.py::test_fixture_001[llj] 这是前后置的方法,可以实现部分以及全部用例的前后置
这是一个test_fixture_001的测试函数  <function my_fixture_01 at 0x7fb1d92e9170>
PASSED只是后置的方法

=============================================================== 6 passed, 9 deselected in 0.04s ===============================================================

三、通过conftest.py和@pytest.fixture()结合使用实现全局的前置应用(比如:项目的全局登陆,模块的全局处理)

  1. conftest.py文件是单独存放的一个家具配置文件,名称是不能改的
  2. 用处可以在不同的py文件中使用fixture函数
  3. conftest.py为全局配置,原则上需要和运行的用例放在同一层,并且不做任何import倒入的操作

总结: setup/teardown setup_class/teardown_clss它是作用于所有的用例或者类
@pytest.fixture() 它的作用是既可以部分也可以全部前后置
conftest.py 和 @pytest.fixtrue()结合使用,作用于全局的前后置

四、pytest结合allure-pytest插件生成allure测试报告

  1. 下载,解压,配置path路径

    https:github.com/allure-framework/allure2/releases
    path路径配置
    验证: allure -version
    问题: dos可以验证但是pycharm验证失败,需重启pycharm

  2. 生成allure报告: os.system(‘allure generate ./temp -o ./report --clean’)
    1. allure generate 命令,固定写法
    2. ./temp 临时的json格式报告的路径
    3. -o 输出output
    4. ./report 生成的allure报告的路径
    5. –clean 清空./report 路径原来的报告
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 12:13:08  更:2021-09-03 12:15:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:29:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码