谭子pytest学习笔记(1)
pytest的特点
- 模块化parametrizeable装置
- 参数化测试函数
- 标记测试功能属性
- Skip和xfail:处理不成功的测试用例
- 通过xdist插件分发测试到多个CPU
- 不断的重新运行失败的测试
- 灵活约定的Python测试发现
安装方法
方法一:
需要有外网,需要先安装python的pip安装工具
pip install -U pytest
安装成功判断方法:
windows:
C:\Users\27231>pytest --version
This is pytest version 3.0.7, imported from D:\Python27\lib\site-packages\pytest
-3.0.7-py2.7.egg\pytest.pyc
Linux:
$ pytest --version
This is pytest version 3.0.7, imported from $PYTHON_PREFIX/lib/python3.5/site-
˓→packages/pytest.py
方法二:
由于公司内无法直接访问外网,故给出,离线安装放法;离线安装需要下载pytest的安装包及其两个依赖库 colorama、py
对应下载链接如下:
pytest: https://pypi.python.org/pypi/pytest
colorama: https://pypi.python.org/pypi/colorama
py: https://pypi.python.org/pypi/py
三个包安装先后顺序为: colorama ,py , pytest
安装方式:
注意:windows下若python未计入环境变量,请先将其加入环境变量
windows使用cmd,Linux直接切到指定包对应的目录
Y:\接口自动化测试\安装包\pytest包\colorama-0.3.9\colorama-0.3.9>python setup.py install
pytest用例搜集及执行
1)如下为对一个函数测试的简单用例:
# content of test_sample.py
def func(x):
return x + 1
def test_answer():
assert func(3) == 5
通过pytest执行用例方法及结果如下
C:\Users\Administrator\PycharmProjects\pytest\myprac>pytest
============================= test session starts =============================
platform win32 -- Python 2.7.5, pytest-3.0.7, py-1.4.33, pluggy-0.4.0
metadata: {
'Python': '2.7.5', 'Platform': 'Windows-7-6.1.7601-SP1', 'Packages': {
'py': '1.4.33', 'pytest': '3.0.7', 'pluggy': '0.4.0'}, 'JAVA_HOM
E': 'C:\\Program Files (x86)\\Java\\jdk1.6.0_10', 'Plugins': {