赞
踩
pytest-html(生成html报告的插件)
pytest-xdist(多线程运行的插件)
pytest-orderding(改变用例的执行顺序插件)
pytest-rerunfailres(失败用例重跑的插件)
allure-pytest(生成美观自定义的allure报告)
放到一个requirements.txt的文档中,如:
pytest
pytest-html
pytest-xdist
pytest-ordering
pytest-rerunfailures
allure-pytest
然后通过:pip install -r requirements.txt
pytest 里面断言实际上就是 python 里面的 assert 断言方法,常用的有以下几种
assert xx :判断 xx 为真
assert not xx :判断 xx 不为真
assert a in b :判断 b 包含 a
assert a == b :判断 a 等于 b
assert a != b :判断 a 不等于 b
pytest
pytest -vs
pytest -vs -n=2
多线程pytest -vs -n=2
--reruns num
失败重跑(前提安装插件:pytest-rerunfailres)pytest -vs --reruns=2
raise Exception()
抛出异常try except
解决异常pytest -vs -x
pytest -vs --maxfail=2
如:pytest -vs --html ./reports/result.html
pytest -vs -k "can"
import pytest
if __name__ == '__main__':
pytest.main(["-vs"])
import pytest
if __name__ == '__main__':
pytest.main(["-vs","testcase/test_hello.py"])
import pytest
if __name__ == '__main__':
pytest.main(["-vs","testcase/"])
(不管是命令行还是主函数都会读取这个配置文件)
注意:
import pytest
class TestDemo:
@pytest.mark.smoke
def test_beijing(self):
print("01")
def test_cheng(self):
print("02")
@pytest.mark.smoke
def test_03(self):
print("03")
[pytest] #标识当前配置文件是pytest配置文件
addopts = -vs -m "smoke" # 标识pytest执行时增加的命令行参数
testpaths=./demo #匹配搜索测试用例的范围目录
python_files=test_*.py # 匹配测试文件
python_classes=Test* # 匹配测试类
python_functions=test_* # 匹配测试用例
#用例分组标记
markers=
smoke:冒烟用例
product_manger:商品管理
-m "smoke"指的是只执行冒烟测试用例
注意:文件中最好不要出现中文,如果有中文的情况下,比如使用notpad++改成GBK的编码。
import pytest
class TestDemo:
@pytest.mark.skip(reason="无理由条件跳过")
def test_beijing(self):
print("01")
def test_cheng(self):
print("02")
def test_03(self):
print("03")
@pytest.mark.skipif(age<10,reason="年龄<10")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。