import pytest
'''
运行方式
1. pytest -s test01.py 把print信息打印出来运行用例
2. 通过main运行 前置后置方法
1. 函数级 setup teardown
2. 类级别 setup_class teardown_class 插件
1. 生成测试报告
下载:pip install pytest-html
运行:pytest -s test01.py --html=report/report.html
2. 控制用例执行顺序
下载:pip install pytest-ordering
通过装饰器 @pytest.mark.run(order=-2)
规则:有正有负 正先执行
同符号 越小优先级越高
3. 用例错误重新运行
下载:pip install pytest-rerunfailures
运行:pytest -s test01.py --reruns 3
重新运行三次,如果还有问题报错
'''
class TestStudy:
def setup_class(self):
print('-------->setup_class类级别做准备工作=======') def teardown_class(self):
print('-------->teardown_class类级别做结束工作=====')
#函数级别的setup和teardown
def setup(self):
print('-------->setup做准备工作') def teardown(self):
print('-------->teardown做结束工作') @pytest.mark.run(order=-2)
def test_01(self):
print('---------->test01')
assert 1 @pytest.mark.run(order=-11)
def test_02(self):
print('---------->test02')
assert 0 if __name__ == '__main__':
pytest.main(['-s','test01.py'])

运行结果

test01.py -------->setup_class类级别做准备工作=======
-------->setup做准备工作
---------->test02
-------->teardown做结束工作
R-------->setup做准备工作
---------->test02
-------->teardown做结束工作
R-------->setup做准备工作
---------->test02
-------->teardown做结束工作
R-------->setup做准备工作
---------->test02
-------->teardown做结束工作
F-------->setup做准备工作
---------->test01
-------->teardown做结束工作
-------->teardown_class类级别做结束工作=====
. ============================================================ FAILURES ============================================================
_______________________________________________________ TestStudy.test_02 ________________________________________________________ self = <test01.TestStudy object at 0x00000214164AF3A0> @pytest.mark.run(order=-11)
def test_02(self):
print('---------->test02')
> assert 0
E AssertionError test01.py:44: AssertionError

pytest框架运用的更多相关文章

  1. pytest框架之fixture详细使用

    本人之前写了一套基于unnitest框架的UI自动化框架,但是发现了pytest框架之后觉得unnitest太low,现在重头开始学pytest框架,一边学习一边记录,和大家分享,话不多说,那就先从p ...

  2. Appium 并发多进程基于 Pytest框架

    前言: 之前通过重写unittest的初始化方法加入设备参数进行并发,实现了基于unittest的appium多设备并发,但是考虑到unittest的框架实在过于简陋,也不方便后期的Jenkins的持 ...

  3. pytest 框架自动化Selenium 之yield 使用

    环境 python 3.7 由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9,3.5-最新 pip install pytest专属 pytest框架包 pip inst ...

  4. Pytest框架介绍

    Pytest框架介绍.安装 pytest是python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大 pytest特征 1:断言提示信 ...

  5. pycharm中脚本执行的3种模式(unittest框架、pytest框架、普通模式)

    背景知识,某次使用HTMLTestRunner的时候,发现一直都无法导出报告,后来查询资料发现了一些坑,现在整理一下来龙去脉. 一:pycharm默认的是pytest框架去执行unittest框架的测 ...

  6. pytest框架之rerunfailures失败重运行机制

    web自动化测试中,稳定性在整个测试运行中都至关重要,但不能保证测试脚本或者测试环境一直都能够稳定,它牵扯到诸多因素,在这里就不赘述,pytest框架相较于unittest的一大优势就在于拥有用例失败 ...

  7. 【Pytest01】全网最全最新的Pytest框架快速入门

    一.Pytest简介pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:1.简单灵活,容易上手,支持参数化2.能够支持简单的单元测试和复杂的功能测试,还可以用来做seleni ...

  8. pytest框架使用教程

    Pytest框架 一.简介 pytest:基于unittest之上的单元测试框架 有什么特点? 自动发现测试模块和测试方法 断言更加方便,assert + 表达式,例如 assert 1 == 1 灵 ...

  9. pytest框架的安装与使用

    pytest框架的安装与使用 一,pytest了解 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高. ...

  10. pytest框架执行自动化测试时使用pycharm正常运行,使用cmd或Terminal报错:Hint: make sure your test modules/packages have valid Python names.

    问题描述: 使用pytest框架做接口自动化测试时,在测试用例所在的.py文件下使用pycharm的run功能可以正常跑用例,使用cmd运行窗口或Terminal则报下图中的错误: Hint: mak ...

随机推荐

  1. LongAdder源码阅读笔记

    功能描述 LongAdder通过创建多个副本对象,解决了多线程使用CAS更新同一个对象造成的CPU阻塞,加快了对线程处理的速度.当多个线程同一时刻更新一个AtomicLong类型的变量时,只有一个线程 ...

  2. 性能工具之Jmeter小白入门系列之一

    一.简单了解 Apache JMeter The Apache JMeter application is open source software, a 100% pure Java applica ...

  3. noip2013 总结

    转圈游戏 题目 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,-- ...

  4. PL/SQL插入数据报错:Access violation at address 00413A81 in module 'plsqldev.exe'. Read of address 00000000

    前言 今天同事在使用plsql给oracl数据库插入记录时报错:Access violation at address 00413A81 in module 'plsqldev.exe'. Read ...

  5. GetModuleFileName函数的用法

    函数的功能 获取exe可执行文件的绝对路径. 用法 通过获取到exe的路径,可以获取到程序路径下(父路径或者子路径)的一些其它文件路径. 函数原型 DWORD WINAPI GetModuleFile ...

  6. .Net Core 常用开发工具(IDE和运行时、Visual Studio插件、Visual Studio Code插件)

    IDE和运行时 组件名 描述 可选版本 推荐版本 Visual Studio Community 社区免费版 For Visual Studio 2017 For Visual Studio 2019 ...

  7. 39、wget、curl

    39.1.wget介绍: wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败, wget会不断的尝试,直到整个文件 ...

  8. 37、mysql数据库(dcl)

    在数据库中参考:"12.创建mysql用户及赋予用户权限"文件.

  9. 重新整理 .net core 实践篇————网关中的身份签名认证[三十七]

    前言 简单整理一下网关中的jwt,jwt用于授权认证的,其实关于认证授权这块https://www.cnblogs.com/aoximin/p/12268520.html 这个链接的时候就已经写了,当 ...

  10. 关于 C#的一些记录

    1, 注意: 使用Linq to Sql 查询数据库的时候,进行where 判断需要注意.我使用的EF,以下为我的记录使用Contain 需要 使用 *.Contains("" + ...