Я видел много примеров, и в каждом из них я не видел упоминаний о статических параметрах, необходимых в beforeSuite и afterSuite в testNG
Мой сценарий состоит в том, что у меня есть MainRunner и BaseTest, которые расширяют MainRunner
MainRunner:
public static void main(String[] args) {
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { testRunner.class });
testng.addListener(tla);
testng.run();
}
public class baseTest {
static WebDriver driver;
public static mainPage main;
public static culturePage mainCulturePage;
public static mainArticle mainArticle;
BaseTest:
@BeforeSuite
public static void setup() {
//locating the driver and maximize the browser window
System.setProperty("webdriver.chrome.driver" , "F:\\java-projects\\.AB-Settings Folder\\chromedriver.exe");
driver= new ChromeDriver();
driver.manage().window().maximize();
//create reporting folder and report
//init();
main = new mainPage(driver);
mainCulturePage = new culturePage(driver);
mainArticle = new mainArticle(driver);
}
@AfterSuite
public static void close() {
//extent.flush();
driver.quit();
}
}
, поэтому вопрос в том, почему мне нужно сделать его статичным?(классы и аннотации) для того, чтобы они выполнялись? и что за статика помимо них объясняется тем, что она работает вне экземпляра и не нуждается в экземпляре?
и каковы варианты измененияУстаревшие:
testng.addListener(tla);