前言
一、pytest_collection_modifyitems是什么?
示例:pytest_collection_modifyitems是pytest收集用例的钩子函数,只要我们通过他来收集用例并修改顺序,就能达到跨文件自定义执行顺序的效果。
二、使用步骤
1.TestCase目录下新建conftest.py文件
2.使用钩子函数来收集用例并修改执行顺序
代码如下(示例):
def pytest_collection_modifyitems(session, items):
# 期望用例顺序
appoint_items = ["test_login","test_aa"]
# 指定运行顺序
run_items = []
for i in appoint_items:
for item in items:
module_item = item.name.split("[")[0]
if i == module_item:
run_items.append(item)
for i in run_items:
run_index = run_items.index(i)
items_index = items.index(i)
if run_index != items_index:
n_data = items[run_index]
run_index = items.index(n_data)
items[items_index], items[run_index] = items[run_index], items[items_index]