Приветствую. Я новичок, пытаюсь освоить POM. Итак: есть базовый класс, две пейджи, и класс с тестами.
В базовом классе в BeforeClass я инициализирую driver:
@BeforeClass
public static void beforeClass() {
driver = new FirefoxDriver();
baseUrl = "tratata";
driver.get(baseUrl);
}
Классы пейджей у меня extends BaseClass. Есть также один класс с тестами. В нём есть два теста. Методы первого теста реализованы на пейдже 1, а методы второго теста на пейдже 2. Через maven запускаю класс с тестами и каждый из двух тестов почему то открывается в новом браузере. Как реализовать чтобы второй тест отрабатывал бы в том же браузере, что и первый тест? Спасибо.
Попробуй поменять @BeforeClass на @BeforeSuit или @BeforeTest (если это пример из TestNG)
Потому что @BeforeClass по-чесному отрабатывает перед каждым новым классом, что у тебя и происходит.
Делать статические классы для сессии, категорически не рекомендую, отгребешь потом при паралельных запусках.
И да, это не относится ни к POM, ни к Maven вообще.
Использовать статик действительно не вариант, если в будущем собираешься распараллеливать тесты, если предыдущий совет не поможет то сделай синглтон класс возвращающий инстанс драйвера, ну и driver.quit только AfterSuite вызывай