需要安装
pytest
和
pytest-html(
生成
html
测试报告)
pip install pytest 和
pip install pytest-html
1:
命名规则
Pytest单元测试中的类名和方法名必须是以
test
开头
,
执行中只能找到
test
开头的类和方法,比
unittest
更加严谨
Pytest: setup, setup_class
和
teardown, teardown_class
函数
(
和
unittest
执行效果一样
)
运行于测试方法的始末,即
:
运行一次测试函数会运行一次
setup
和
teardown
运行于测试方法的始末
,
但是不管有多少测试函数都只执行一次
setup_class
和
teardown_class
![](https://i-blog.csdnimg.cn/blog_migrate/cb31627d4fc04f08f6560b1248e8749a.png)
2:Pytest生成自带的html测试报告
需要下载
pytest-html
模块
(python
自带的生成测试报告模块
pip install pytest-html
案例一
pytest.main("
模块
.py")
【运行指定模块下,运行所有
test
开头的类和测试用例】
pytest
.
main
([
"--html=./report.html"
,
"
模块
.py"
])
![](https://i-blog.csdnimg.cn/blog_migrate/6258081db14bd001354aea6360e0098d.png)
案例二
运行指定模块指定类指定用例,冒号分割,并生成测试报告
pytest
.
main
([
‘
--
html
=.
/
report
.
html’
,
‘
模块
.
py
::
类
::
test_a_001
'])
![](https://i-blog.csdnimg.cn/blog_migrate/388a4561794cce7dfe79c0cfb97e9528.png)
案例三
直接执行
pytest.main()
【自动查找当前目录下,以
test
开头的文件或者以
test
结尾的
py
文件】
pytest
.
main
([
‘
--
html
=.
/
report
.
html’
])
![](https://i-blog.csdnimg.cn/blog_migrate/3a39ee2c2904c7435d9203cd597a3881.png)
Pytest调用语句
扩充:跳过
使用@pytest.mark.skip()跳过该用例(函数)
3:Pytest的运行方式
4:文件读取
1:读取csv文件
2:读取xml文件
5:allure
Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、 Pytest、JUint等。它简单易用,易于集成。
首先配置allure的环境变量
验证allure是否配置成功
其次要安装allure
pip install allure-pytest
allure-pytest是Pytest的一个插件,通过它我们可以生成Allure所需要的用于生成测试报告的数据
5.1:Allure常用的几个特性
5.1.1:allure.feature
@allure.feature # 用于描述被测试产品需求
5.1.2:allure.story
@allure.story #
用于描述
feature
的用户场景,即测试需求
![](https://i-blog.csdnimg.cn/blog_migrate/0277ee248fcd1b7844b2684ec057c3fa.png)
Pytest和allure效果展示
5.1.3:with allure.step()
用于描述测试步骤,将会输出到报告中
5.1.4
:
allure.attach
用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等
![](https://i-blog.csdnimg.cn/blog_migrate/5c4176ad6e05e803929165e1d9944564.png)
Pytest和allure效果展示
作业: