安装pytest_ordering,经过装饰器@pytest.mark.run(order=1)来进行控制,数字越小,越前执行,python
安装pytest-dependency 在对应的方法A上添加@pytest.mark.dependency()对所依赖的方法进行标记设置为被依赖方法,在依赖方法使用@pytest.mark.dependency(depends=["被依赖方法名"])引用依赖 可添加name=参数session
@pytest.fixture装饰,包括session、module、class、functionapp
@pytest.mark.dependency()依赖方法示例:ide
1.在同一个类中,再被依赖的方法上进行标记 如,被依赖方法 @pytest.mark.dependency(depends=["类名::方法名"])spa
@pytest.mark.dependency() # 被依赖方法 @pytest.mark.flaky(reruns=2, reruns_delay=4) # 失败重跑该方法 def test_login(self): # 打开网址 Primary.driver.get(Config.URL) # 登陆操做 bool_success = LoginSystem(Primary.driver).login_system() if bool_success is False: pytest.fail("登陆失败") @pytest.mark.dependency(depends=["Test_Login::test_login"]) # 依赖该方法 def test_join_apply(self): # 进入指定应用 Change_To_BusinessAndProject(Primary.driver).change_to_project_plug(project_name=Config.PROJECT, plug_name=Config.YANGCHEN_PLUGNAME, project_id=Config.PROJECTID)
2. 在不一样模块或者类中调用,如被依赖的方法在模块A,类A中,依赖方法在B模块,类B中,能够在B类上depends=["test/模块名A.py::类名A::方法名test_A"]进行依赖,若是依赖方法A失败,B类中的方法都不会运行ci
在B类中的方法进行依赖操做一致get
@pytest.mark.dependency( depends=["test/test_Login.py::Test_Login::test_login"], scope='session' ) @pytest.mark.run(order=2) class B: