如何在同一会话中运行多个测试(@test)

时间:2018-05-03 07:40:59

标签: java testng

对于以下代码,我无法在同一会话中运行所有测试。

在代码下面运行的步​​骤如下: 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();     
}

1 个答案:

答案 0 :(得分:0)

如果这是您的方法,请在closeAllBrowsers();方法中调用@AfterSuite方法。因此它将在完成所有测试用例后执行。