fixtture使用:
如何两个方法都是用同一个数据,则就可以使用fixturedef test_1():json = requests.get("https://testerhome.com/api/v3/topics.json?limit=2").json()assert len(topics['topics']) == 2def test_2():json = requests.get("https://testerhome.com/api/v3/topics.json?limit=2").json()assert topics['topics'][0]['deleted'] == False俩个方法都用到json的数据,就可以使用fixture@pytest.fixture()def topics():url = 'https://testerhome.com/api/v3/topics.json?limit=2'return requests.get(url).json()def test_1(topics):assert len(topics['topics']) == 2def test_2(topics):assert topics['topics'][0]['deleted'] == False@pytest.fixture(scope="function")def topics():url = 'https://testerhome.com/api/v3/topics.json?limit=2'return requests.get(url).json()当scope="function"时,也是默认的,在每个方法前都会执行;当scope="module"时,每个模块都会执行一次当scope="session"时,同个目录下的模块都只执行一次当scope="class"时,    在每个类里面,只执行一次也可以将fixture的方法定义到conftest.py文件中,会自动读取python3 -m http.server 启动目录   会启动一个本地的服务生成allue的测试报告:pytest --alluredir=报告存放的路径  测试用例路径allure  serve 生产测试报告的路径   :可以打开allure测试报告生产Junit测试报告:pytest --junitxml=报告的路径  测试用例路径分组执行:pytest -m 组名@pytest.mark.adef test_2(topics2):assert topics2['topics'][0]['deleted'] == False@pytest.mark.bdef test_3(topics3):assert topics3['topics'][0]['deleted'] == False@pytest.mark.bdef test_4(topics3):assert topics3['topics'][0]['deleted'] == Falsepytest -m b执行b组的测试用例

pytest常用的参数

-v:输出的信息会更详细,最明显的区别就是每个文件中的测试用例都占一行,测试的名字和结果都会显示出来pytest -v file.py
-m: 用于标记测试分组,以便快速选中并运行 ,下面例子可以使用:pytest -m "run_bb"只执行test_case_o1@pytest.mark.run_bbdef test_case_01():"""出口流程可以正常创建"""assert 0@pytest.mark.run_aadef test_case_02():"""入库流程可以正常创建"""assert 0 == 0
--collect-only:在测试之前,可以展示在给定配置下那些测试用例会被执行,检查选中的测试用例是否符合预期
-k:允许你使用表达式指定希望允许的测试用例,下面的例子可以这样允许:pytest -k "aaa or bbb"两个py文件:test_aaa.py和test_bbb.py
-x:一旦遇到失败,就会全局停止
--tb=style:决定捕捉到失败是输出信息的显示方式,pytest会列举失败信息,包括失败出现在哪一行、是什么失败、怎么失败的,此过程我们称之为”信息回溯“一般用的是:--tb=no  屏蔽全部的回溯信息
-q:简化输出信息
-s:在终端允许时输出某些结果,正常情况下,所有的测试输出都会被捕捉

转载于:https://www.cnblogs.com/an5456/p/11229218.html

pytest-fixture相关推荐

  1. pytest fixture执行顺序

    module和function的调用顺序: import pytest@pytest.fixture(scope="module", params=["mod1" ...

  2. Pytest fixture参数化params

    unittest使用ddt来实现测试用例参数化.或parameterized实现测试用例参数化,pytest测试用例里面对应的参数可以用 parametrize 实现参数化,今天我们来了解下fixtu ...

  3. Pytest fixture之request传参

    Pytest中我们经常会用到数据参数化,我们来介绍下装饰器@pytest.fixture()配合request传参的使用 user = request.param 如果想把登录操作放到前置操作里,也就 ...

  4. Python Pytest调用fixture之@pytest.mark.usefixtures()、叠加usefixtures、@pytest.fixture(autouse=True)用法详解

    usefixtures与传fixture区别  如果fixture有返回值,那么usefixture就无法获取到返回值,这个是装饰器usefixture与用例直接传fixture参数的区别. 当fix ...

  5. Python pytest框架之@pytest.fixture()和conftest详解

    一.fixture简介 学pytest就不得不说fixture,fixture是pytest的精髓所在,类似unittest中setup/teardown这种前后置东西.但是比它们要强大.灵活很多,它 ...

  6. Pytest fixture实现测试用例前置后置操作

    大家好,我是杨叔.每天进步一点点,关注微信公众号[程序员杨叔],了解更多测试开发技术知识! 一.背景 自动化测试时必然会碰到用例执行前,需要做一些前置操作,以及用例执行后,需要做一些后置操作的时候.本 ...

  7. pytest.fixture如何像testng的beforeMethod一样使用

    熟悉使用testng的童鞋们应该都晓得beforeMethod,在测试脚本执行时,可以对每个测试函数进行初始化. 比如app的启动,浏览器的启动等,都可以定义到beforemethod里面. /*** ...

  8. 用pytest.fixture处理接口自动化跨文件token传参

    大部分的接口都需要在headers中传入token参数,原来的方式是在case文件的setup中调用gettoken方法拿到token,存入一个变量,然后在每个case中使用这个token变量 但后面 ...

  9. pytest.fixture详解

    scope分为session.package.module.class.function级别,其中function也是包含测试类的测试方法的,package指在当前contest.py的package ...

  10. pytest、pytest.mark和pytest.fixture的用法

    1.pytest的格式:模块名用以test开头或者结尾,类名为Test开头,函数名以test开头,同时里面不能含构造函数(__init__),如果有继承,建议用setup和teardown. 2.运行 ...

最新文章

  1. LeetCode LFU Cache
  2. 深入FFM原理与实践
  3. 北航计算机学院毕业生2019,北航2019届本科生毕业典礼暨学位授予仪式举行
  4. swoole的安装(已经做测试成功)
  5. android eclipse 导入idea项目
  6. 【思考】PHP——成也Web,败也Web
  7. C语言程序设计,第四版 ,谭浩强。绝对原版,最新的资料
  8. MRC与ARC混合编程的编译器标记
  9. 绘制隐藏层的激活值的分布[直方图]
  10. jQuery监听文本框值改变触发事件(propertychange)
  11. 史上最全排序算法总结 | 原力计划
  12. 最新!全球学术排名出炉:21 所中国大学位居世界 100 强
  13. matlab课后习题,Matlab 课后习题集
  14. 如何使用Arduino构建3D打印的电子动画眼睛
  15. STM32F4xx固件库分析
  16. 手码-在U-boot SPL 移植新的PMIC芯片驱动
  17. 微信推出史上最简单「拍一拍」新功能,仅需一行代码,好友们都玩疯了!
  18. 【Adobe】Photoshop :Mac 系统 Photoshop 软件更换许可指引
  19. 微信为什么使用 SQLite 保存聊天记录?
  20. C语言中什么叫做左值?右值?

热门文章

  1. android荧光进度条,Android ProgressBar 进度条荧光效果
  2. redis详解_java 从零开始手写 redis(14)redis渐进式rehash详解
  3. matlab 最小二乘法拟合_最小二乘法辨识1阶离散传递函数
  4. 3.自编码器(变分自编码器,VAE)
  5. python dry原则_Python 装饰器实现DRY(不重复代码)原则
  6. go语言mysql框架_开源轻量级数据库访问框架-Go语言中文社区
  7. 3台机器配置hadoop集群_复制Hadoop集群之后无法访问端口50070的问题
  8. win10如何与终端电脑连接服务器,教程 | Windows 10 下在命令行窗口使用 ssh 连接服务器...
  9. html 显示编辑xml文件,如何将 XML 文件显示为 HTML 表格展示
  10. android 替代map,Android为什么推荐使用SparseArray来替代HashMap?