gpt4 book ai didi

java - 在Java中为属于同一组的测试定义@BeforeGroups方法的执行顺序

转载 作者:行者123 更新时间:2023-12-02 02:45:50 24 4
gpt4 key购买 nike

我有一个属于多个组的测试方法,我想确保一个 @BeforeGroups 方法 (setupHomePage) 在另一个 (setupUniversalSearchPage) 之前运行。该顺序必须仅在 java 中定义,因为我应该使用任何 testng xml。尽管在另一个测试类中的类似情况下,执行顺序是根据需要的。

public abstract class HomePageTest extends TestBase
{
@BeforeGroups("homePageTests")
public void setupHomePage()
{
loadHomePage();
}
}

public abstract class UniversalSearchPageTest extends HomePageTest
{
@BeforeGroups("universalPageTests")
public void setupUniversalSearchPage()
{
navigateToSearchPage();
}
}

public class UniversalSearchPageBasicTest extends UniversalPageTest
{
@Test(groups = {"homePageTests","universalPageTests")
public void searchVerificationTest()
{
//test code here
}
}

到目前为止我已经尝试过以下操作:1.颠倒searchVerificationTest的@Test注解中组的顺序2. 在UniversalSearchPageBasicTest类的声明上方添加@Test(groups = "homePageTests")。

我想知道 @BeforeGroups 方法的顺序是如何确定的,因为它在一个类中与其他类不同。如果有任何关系我在 eclipse 和 Appium 中使用 Maven我是 testng 的新手,如果我缺少任何基本内容,请告诉我

最佳答案

@BeforeMethod 方法将按继承顺序运行 - 首先是最高的父类(super class),然后沿着继承链向下运行。 @AfterMethod 方法以相反的顺序运行(沿着继承链向上)。

但是请注意,一个类中多个带注释的方法的顺序无法保证(因此最好避免这种情况)。

还有一个在线文档可用,请查看http://testng.org/doc/documentation-main.html#annotations

关于java - 在Java中为属于同一组的测试定义@BeforeGroups方法的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44593025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com