1 Pytest简介
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。pytest不是python默认的package,需要自动手工安装。pytest支持python 2.6--3.5之间的版本,同时可以在unix及windows上安装
根据pytest的官方网站介绍,它具有如下特点:
- 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
- 能够支持简单的单元测试和复杂的功能测试
- 支持参数化
- 执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败
- 支持重复执行失败的case
- 支持运行由nose, unittest编写的测试case
- 具有很多第三方插件,并且可以自定义扩展
- 方便的和持续集成工具集成
pytest框架的使用
编写的class和方法必须遵循以下规则
- 测试文件以test_开头(以_test结尾也可以)
- 测试类以Test开头(不能小写test开头),并且不能带有 __init__ 方法
- 测试函数以test_开头
- 断言使用基本的assert即可
2 UnitTest框架和PyTest框架的简单认识对比与项目实战
Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。
Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。
两者对比:
3 Pytest 依赖项的安装:
3.1 python 必须安装,PyCharm必须安装,方便编写python代码
3.2 windows pytest 安装
pip install pytest / pip install -U pytest (-U 下载最新的)
安装完成后,可以查看版本:
3.3 生成报告,安装 pytest-html
先安装软件pip install pytest-html
进入目录:cd C: \Users\Administrator\PycharmProjects
pytest --html=./report/report.html (如果想指定报告的存放位置,放到当前脚本的同一目录下的report文件夹里)
pip install requests
3.5 Pytest+Allure环境的搭建
想要用例执行完成后,使用可视化界面展示用例的执行情况,方便查看测试报告,我们要使用到可是化工具allure
环境安装步骤:
安装JDK1.8,并配置环境变量:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载allure https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip, 解压至: C:\Program Files\allure-commandline-2.13.2
配置allure 的系统环境变量: C:\Program Files\allure-commandline-2.13.2\allure-2.13.2\bin
验证环境变量是否配置成功:
安装allure-pytest
pip3 install allure-pytest
Pycharm使用allure生成报告
pytest -s --alluredir=report untitled1/test_test.py
--alluredir 用于指定存储测试结果的路径
.生成网页打开: allure serve report
如果你想每次用例执行之前先清空allure的报告记录,
可以加个参数 --clean-alluredir