测试脚本的编写如查询客户等页面都需要依赖于登录,这样的话类似需要依赖登录操作都需要在这个测试脚本中重复编写登录用例,为了避免重复写代码我们可以用pytest中的方法控制测试执行步骤
第三方工具的修改
1、增加退出驱动driver的标记以及修改这个标记的方法
python
class UtilsDriver:
_driver = None
# 修改的代码,增加一个退出driver的标记以及修改driver属性的方法
__quit_driver = True # 后台系统退出驱动的标识
# 定义修改私有属性的方法
@classmethod
def set_quit_driver(cls, mark):
cls.__quit_driver = mark
脚本修改
- 增加test_begin.py文件:第一个执行用例,设置driver为True
- 通过order值大小,最小的先执行,最大的后执行
python
import pytest
from utils import UtilsDriver
#用例最开始执行
@pytest.mark.run(order=1)
class TestBegin:
def test_begin(self):
UtilsDriver.set_quit_driver(False)
2、增加test_end.py文件,最后执行后退出驱动
python
import pytest
from utils import UtilsDriver
#用例最后执行,通过order值大小
@pytest.mark.run(order=9)
class TestEnd:
def test_end(self):
UtilsDriver.set_quit_driver(True)
UtilsDriver.quit_driver()
3、用例执行:两个测试文件。
python
#第一个用例执行
@pytest.mark.run(order=2)
@allure.story("登录模块")
class TestLogin:
#第二个用例执行
@pytest.mark.run(order=3)
class TestDigit:
用例执行
1、输入pytest执行即可