python规则框架_Pytest框架【2】:用例规则
pytest用例编写规则:
1、测试文件以 ‘test_’ 开头,以 ‘_test’ 结尾。
2、测试类以 ‘Test’ 开头,并且不能带有 init 方法。
3、测试函数以 ‘test_’ 开头。
4、断言使用基本的assert。
pytest Exit Code清单:
Exit Code 0:所有用例执行完毕,全部通过。
Exit Code 1:所有用例执行完毕,存在Failed的测试用例。
Exit Code 2:用户中断测试执行。
Exit Code 3:测试执行过程中发生了内部错误。
Exit Code 4:pytest命令行使用错误。
Exit Code 5:未采集到可用测试用例文件。
控制测试用例执行规则:
1、在第N个用例失败以后,结束测试执行
第1次失败,就停止测试:pytest -x
出现两个失败就终止测试:pytest --maxfail=2
2、指定测试模块
pytest test_mod.py
3、指定测试目录
pytest testing/
4、通过关键字表达式过滤执行
pytest -k "MyClass and not method"
这条命令会匹配文件名、类名、方法名,匹配表达式的用例
此命令会执行TestMyClass.test_something,不会执行TestMyClass.test_method_simple
5、通过node id指定测试用例
node id由模块文件名、分隔符、类名、方法名、参数构成
运行模块中的指定用例:pytest test_mode.py::test_func
运行模块中的指定方法:pytest test_mode.py::TestClass::test_method
6、通过标记表达式执行
pytest -m slow
这条命令会执行被装饰器@pytest.mark.slow装饰的所有用例
7、通过包执行测试
pytest --pyargs pkg.testing
这条命令会自动导入pkg.testing,并使用该包所在目录执行下面的用例
8、多进程运行case
说明:当case量很多时,运行时间也会变得很长,如果想要缩短脚本运行时长,就可以使用多进程来执行。
安装----pip install -U pytest -xdist
运行模式----pytest test_se.py -n NUM
(NUM填写并发进程数)
9、重试运行case
说明:在做接口测试时,有时会遇到503或短时网络波动,导致case运行失败,而这并非是我们期望的结果,此时可以通过重试运行case的方式来解决。
安装----pytest -rerunfailures:pip install -U pytest -rerunfailures
运行模式----pytest test_se.py --reruns NUM
(NUM填写重试的次数)
python规则框架_Pytest框架【2】:用例规则相关推荐
- 【Python自动化测试26】接口自动化测试实战六_pytest框架+allure讲解
文章目录 一.前言 二.pytest讲解 2.1 什么是pytest? 2.2 为什么使用pytest? 2.3 使用pytest 2.4 pytest的运行方式 2.5 pytest高级特性 2.5 ...
- python代码设计测试用例_《带你装B,带你飞》pytest成神之路2- 执行用例规则和pycharm运行的三种姿态...
1. 简介 今天北京下的雪好大好美啊!!!哎呀,忘记拍照片了,自己想象一下吧.言归真传,今天还是开始pytest的学习和修炼,上一篇写完后群里反响各式各样的,几家欢乐几家愁,有的高兴说自己刚好要用到了 ...
- 震惊!python类型的自动化测试框架原来这么简单!
我是黄财财,励志成为打拳届最会测试的大肚腩少年的我,和哈皮群友聊了一天,发现很多群友不知道从什么方向去做自动化软件测试,所以大致写了这篇文章,希望对大家有所帮助. 大家如果想和我的哈皮群友讨论怎么学p ...
- python中的UnitTest框架
一.UnitTest框架介绍 框架说明: 1.框架英文单词framework 2.为解决一类事情的功能集合 〉需要按照框架的规定(套路)去书写代码 什么是UnitTest框架? 概念:UnitTest ...
- Python+Selenium WebUI自动化框架 -- 实现特殊PO模型
前言: 设计执行格式,封装PO模型工厂,实现PO模型脱离代码,一套代码执行所有项目的UI自动化,让UI自动化框架脱离高成本.低效率时代,将用例的重用性贯彻到极致,让烦人的PO模型变得无所谓,让一个测试 ...
- Python单元测试及unittest框架用法实例解析
例题取用登录模块:代码如下 def login_check(username,password):''' 登录校验的函数:param username:账号:param password: 密码:re ...
- Python之路--WEB框架本质
一.本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8im ...
- python+requests接口自动化测试框架实例详解教程(米兔888)
来源:https://my.oschina.net/u/3041656/blog/820023 源码:https://pan.baidu.com/s/1lgIEToiczTvvjy--p-N20g 提 ...
- DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略
DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...
最新文章
- 中国AI企业吸金旺但90%亏损 今年将迎倒闭潮
- 【图像处理opencv】_Jupyter基本操作
- 前后端分离和微服务_为什么说微服务,要从前后端分离开始?一文带你揭秘深入微服务...
- c语言大数位加法,求用C编个大数加减法运算程序
- vant自定义二级菜单
- 【转载】ShowWindow函数
- java中date代替_Java:为什么Date构造函数不推荐,我用什么来代替?
- 使用Lucene的新FreeTextSuggester查找长尾建议
- Maven--反应堆(Reactor)
- JDK源码学习之Arraylist与LinkedList
- spring boot 整合Dubbo/Zookeeper
- js中如何判断按钮是否被点击了
- Jenkins 用户文档(运行多个步骤)
- 在vs中进行qt桌面应用开发时,编译器堆溢出的编译错误(error C1060编译器堆内存不足)
- screen投屏怎么用_Screen投屏
- 光环PMP 项目资源管理、项目相关方管理
- 我在黑暗中看到你眼中的月光_你好黑暗,我的老朋友
- 【informix】informix 日期字段
- C语言编写IDL动态可加载模块(DLM)入门
- 2020-11-7YTUOJ3545: 输出最长单词
热门文章
- leetcode 112. Path Sum, 113. Path Sum II | 112,113. 路径总和 I, II(Java)
- python 脚本将视频转化成图片 | python scripts to convert video to pictures
- 微服务、容器、DevOps三者之间的演进关系,你清楚吗?
- 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统
- 【SQLAlchemy】MySQL server has gone away 原因分析、解决方法
- TLS/SSL 工作原理及握手过程详解
- 19行代码AC——习题3-4 周期串(UVa-455)_解题报告
- [leetcode]19.删除链表的倒数第N个节点
- Redis数据库(三)——(主从复制、哨兵模式、集群)
- php中的rtrim_php中ltrim()、rtrim()与trim()删除字符空格实例