赞
踩
目录
1. @pytest.mark.parametrize("参数名",列表数据)
3. pytest.mark.parametrize 结合fixture使用
@pytest.mark.run(order=1)(需安装pytest-rodering)
@pytest.mark.dependency()(pytest-dependency插件需下载)
@pytest.make.timeout(60)(需安装pytest-timeout)
可以标记测试方法、测试类,标记名可以自定义,最好起有意义的名字;
同一测试类/方法可同时拥有多个标记;
- # test_login_logout.py
-
- import pytest
-
-
- @pytest.mark.login
- class TestLogin:
- """登陆功能测试类"""
-
- @pytest.mark.smoke
- @pytest.mark.success
- def test_login_sucess(self):
- """登陆成功"""
-
- # 实现登陆逻辑
- pass
-
- @pytest.mark.failed
- def test_login_failed(self):
- """登陆失败"""
-
- # 实现登陆逻辑
- pass
-
-
- @pytest.mark.logout
- class TestLogout:
- """登出功能测试类"""
-
- @pytest.mark.smoke
- @pytest.mark.success
- def test_logout_sucess(self):
- """登出成功"""
-
- # 实现登出功能
- pass
-
- @pytest.mark.failed
- def test_logout_failed(self):
- """登出失败"""
-
- # 实现登出功能
- pass
- 运行标记的用例:
- 使用 -m 参数运行标记的测试用例;
- -m 参数支持 and、or 、not 等表达式;
- # 运行登陆功能的用例
- pytest.main(['-m login'])
- # 运行登出功能的用例
- pytest.main(['-m logout'])
- # 运行功能成功的用例
- pytest.main(['-m success'])
- # 运行功能失败的用例
- pytest.main(['-m failed'])
- # 运行登陆功能但是不运行登陆失败的测试用例
- pytest.main(['-m login and not failed'])
- # 运行登出功能但是不运行登出成功的测试用例
- pytest.main(['-m logout and not success'])
- # 运行登陆和登出的用例
- pytest.main(['-m login or logout'])
当使用 -m 参数执行 mark 标记的用例时,pytest 会发出告警信息 “PytestUnknownMarkWarning: Unknown
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。