对于以下代码,我无法在同一会话中运行所有测试。
在代码下面运行的步骤如下: 1.右键单击班级名称 - >运行方式 - > TestNg测试 每个会话都关闭浏览器会话。在这里,我想在不关闭浏览器会话的情况下执行所有测试。
@BeforeClass
@Parameters({"browser", "pdpurl"})
public void setData(@Optional("")String browser, @Optional("")String pdpurl) {
browserName = browser.isEmpty() ? "chrome" : browser;
url = pdpurl.isEmpty() ? propDatas.getProperty(PDP_URL) : pdpurl;
}
@Test
@Parameters("frame")
public void test1(@Optional("")String frame){
new SendAndClaim(driver)
.clickGiftNow()
.switchFrame(frame);
}
@Test(dependsOnMethods="test1")
public void test2() {
new SendAndClaim(driver)
.enterName()
.enterMail()
.enterFromName()
.enterFromMail()
.clickPayment();
}
public class Company extends GenericWrappers
public String browserName;
public String url;
public String dataSheetName;
@BeforeSuite
public void beforeSuite(){
}
@BeforeTest
public void beforeTest(){
loadObjects();
loadDatas();
}
@BeforeMethod
public void beforeMethod(){
invokeApp(browserName, url);
}
@AfterSuite
public void afterSuite(){
}
@AfterTest
public void afterTest(){
unloadObjects();
unloadDatas();
}
@AfterMethod
public void afterMethod(){
closeAllBrowsers();
}
答案 0 :(得分:0)
如果这是您的方法,请在closeAllBrowsers();
方法中调用@AfterSuite
方法。因此它将在完成所有测试用例后执行。