一、pytest测试框架简介:

(1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。

(2)pytest框架可以兼容unittest用例

(3)支持参数化

测试用例的skip和xfail,自动失败重试等处理

(4)能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appium等自动化测试、接口自动化测试(pytest+requests);

(5)pytest并且具有很多第三方插件,并且可以自定义扩展,比较好用的比如pytest-allure(完美 html测试报告生成),pytest-xdist(多cpu分发)等;

(6)可以很好的和jenkins集成

二、用例编写规则:

(1)测试文件名必须以“test_”开头或者"_test"结尾(如:test_ab.py)

(2)测试函数必须以“test_”开头。

(3)测试类命名以"Test"开头。

三、pytest安装与依赖

pip install -U pytest U表示升级

pip insetall pytest-sugar ( sugar可以对我们运行的过程界面进行美化)

pip install pytest-rerunfailures( rerunfailures可以重新运行执行出错的测试用例)

pip install pytest-xdist( xdist多任务并发的执行测试用例)

pip install pytest-assume( assume可以在测试用例里面添加断言,通常是断言出错了就不执行了,但是通过用这个包,就可以即使这个断言出错了,也可以继续执行下一个断言)

pip install pytest-html( html可以生成html结果报告)

pip list 查看已安装模块

pytest -h 查看帮助

四、命令行模式执行:

pytest/py.test  运行该目录下所有以test_开头的.py文件

pytest -v   (最高级别信息--verbose)打印详细运行日志信息

pytest -v -s 文件名   (s是带控制台输出结果,也是输出详细运行日志)

pytest 文件名.py     执行单独一个pytest模块

pytest 文件名.py::类名    运行某个模块里面的某个类

pytest 文件名.py::类名::方法名   运行某个模块里面某个类里面的方法

pytest -v -k "类名and not方法名"  跳过运行某个测试用例

pytest --html=report.html   生成html测试报告

pytest -m[标记名]   @pytest.mark.[标记名]将运行这个有标记的测试用例

pytest -x 文件名 一旦运行报错就停止运行

pytest --maxfail=[num] 当运行错误达到num的时候就停止运行(比如冒烟测试,执行多少个失败的用例就打回)

pytest 文件名 -s  显示print内容

   # 执行该.py文件中所有以Test开头的类,以及test_开头的函数

    # 仅执行TestApi类中的test_login函数

  # 执行test_run.py中除了test_upload外的所有测试类和测试函数

    # 测试文件运行错误达到2次后,便停止运行

    #运行错误后,重复再运行2次,且每次延时2秒(前提:pip install pytest-rerunfailures)

    # 在当前目录下生成report.html测试报告

五、pycharm中执行:

参考:https://www.cnblogs.com/zhaikunkun/p/12583742.html

pytest测试框架 -- 简介的更多相关文章

  1. Pytest测试框架(一):pytest安装及用例执行

    PyTest是基于Python的开源测试框架,语法简单易用,有大量的插件,功能非常多.自动检测测试用例,支持参数化,跳过特定用例,失败重试等功能. 安装 pip install -U pytest  ...

  2. Pytest测试框架(二):pytest 的setup/teardown方法

    PyTest支持xUnit style 结构, setup() 和 teardown() 方法用于初始化和清理测试环境,可以保证测试用例的独立性.pytest的setup/teardown方法包括:模 ...

  3. Pytest测试框架(三):pytest fixture 用法

    xUnit style 结构的 fixture用于初始化测试函数, pytest fixture是对传统的 xUnit 架构的setup/teardown功能的改进.pytest fixture为测试 ...

  4. Pytest测试框架(五):pytest + allure生成测试报告

    Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...

  5. 『德不孤』Pytest框架 — 1、Pytest测试框架介绍

    目录 1.什么是单元测试框架 2.单元测试框架主要做什么 3.单元测试框架和自动化测试框架有什么关系 4.Pytest测试框架说明 5.Pytest框架和Unittest框架区别 (1)Unittes ...

  6. Python 各种测试框架简介(三):nose

    转载:https://blog.csdn.net/qq_15013233/article/details/52527260 摘要 这里将从(pythontesting.net)陆续编译四篇 Pytho ...

  7. Python 各种测试框架简介

    转载:https://blog.csdn.net/yockie/article/details/47415265 一.doctest doctest 是一个 Python 发行版自带的标准模块.本篇将 ...

  8. Pytest 测试框架

    一 . Pytest 简介 Pytest是python的一种单元测试框架. 1. pytest 特点 入门简单,文档丰富 支持单元测试,功能测试 支持参数化,重复执行,部分执行,测试跳过 兼容其他测试 ...

  9. Pytest测试框架入门到精通(一)

    Python测试框架之前一直用的是unittest+HTMLTestRunner,听到有人说Pytest很好用,所以这边给大家介绍一下Pytest的使用 pytest是一个非常成熟的全功能的Pytho ...

随机推荐

  1. JDK8 String类知识总结

    一.概述 java的String类可以说是日常实用的最多的类,但是大多数时候都只是简单的拼接或者调用API,今天决定深入点了解一下String类. 要第一时间了解一个类,没有什么比官方的javaDoc ...

  2. G4560 HD610安装黑苹果Hakintosh

    这一篇主要是写给使用G4560笔记本折腾黑苹果的朋友. 我折腾了几天黑苹果,发现怎么也无法成功,最后我才知道HD610现在还不支持黑苹果. 由于大多数笔记本不支持屏蔽核显,这意味着要想使用黑苹果必须要 ...

  3. 域名备案&robots协议

    目录 1 域名备案 个人备案 公司备案 备案完成之后 了解更多 2 robots.txt 这篇文章不谈技术,聊一聊笔者在网站建设一些需要注意的点. 1 域名备案 建设一个网站一定会需要域名,而域名又一 ...

  4. 【NOIP必备攻略】 基本noilinux使用方法

    现在linux系统已经成为了NOIP竞赛的一大操作系统,如果连最基础的操作都不会,那就更别提怎么得分了,万一操作失误,可就爆零了.所以小编特意发这样一篇博客,教你快速上手noilinux! ▎ 常用操 ...

  5. Ubuntu操作系统(文件传输)

    首先选择Ubuntu版本为偶数版本--(系统比较稳定软件源比较齐全) Ubuntu和windows之间的文件传输首先在Windows上安装连接工具winscp 在Ubuntu开启SSH服务(https ...

  6. Federated Optimization for Heterogeneous Networks

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1812.06127v3 [cs.LG] 11 Jul 2019 目录: Abstract 1 Introduction 2  ...

  7. WPF新手快速入门系列 2.绑定

    [概要] 上一章讲了布局,按照市面上的书籍每一本讲的顺序都不一样,本系列是希望大家能快速上手去应对工作需要,所以本章就直接开始讲绑定. 如有学习过程中想交流学习.疑惑解答可以来此QQ群交流:58074 ...

  8. csp201909-2小明种苹果续

    /* 定义输入N 二维数组 输出T总数 D掉落棵树 E掉落组数 定义last记录上次掉落的编号,flag=1表示两次连续掉落,不掉落归零 spec=1表示1 2都掉落了,spec=2表示只有1掉落 对 ...

  9. 洛谷 P4995 跳跳!

    思路 贪心 从大到小排序,然后反复横跳,记录两个指针 \(l=1, r=n\),从 \(1\) 跳到 \(n\),再从 \(n\) 跳到 \(2\),然后从 \(2\) 跳到 \(n - 1\)--, ...

  10. Oracle-Over()函数高级用法