我使用 testNG 注释编写了以下测试:
public class Create {
WebDriver driver;
@BeforeClass
public void testsetup() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
@BeforeMethod
public void Login() {
driver.get("www.xyz.com");//just an example
}
@Test(priority=3)
public void AccountCreate() {
System.out.println("Test3");
}
}
@Test(priority=1)
public void CompanyCreate() {
System.out.println("Test1");
}
@Test(priority=2)
public void VerifyResult() {
System.out.println("Test2");
}
}
@AfterMethod
public void Logout() {
System.out.println("print after method");
}
@AfterClass
public void CloseBrowser() {
driver.close();
}
}
o/p 是这样的:
print after method
test1
print after method
test2
print after method
test3
观察;@BeforeClass
先执行,再@Beforemethod
执行,然后@Aftermethod
再执行@Test(priority=1)
,@Aftermethod
然后@Beforemethod
再执行,@Test(priority=2)
以此类推。
但在所有@Test
运行之后,只有@Aftermethod
执行。任何人,请帮助我。我真的找不到到底是什么问题。