应用场景:
部分用例使用QNET进行弱网测试,为了避免弱网下,用例执行失败,但是QNET还在运行,影响之后不需要弱网的case执行,从而加了conftest,每个弱网用例后杀掉弱网进程
1、conftest.py编写
@pytest.fixture(scope="function") # 作用域设置为 function
def kill_qnet():
stop_qnet = 'am broadcast -a "qnet.boradcast.drive" --include-stopped-packages --es "command" "stop_service" com.tencent.qnet'
yield
dev.shell(stop_qnet)
print("退出qnet")
scope 作用域设置为 function
yield 之后为后置步操作
2、用例
def test_1(self, kill_qnet): # 在用例方法中传入conftest中的后置步操作
assert True
在用例方法中传入conftest中的后置步操作
这样就可以每次该用例执行完成后执行conftest中的操作