Возможно, это скорее вопрос Java, чем селен, но поскольку я очень новичок в Java, я не знаю ответа. Я пишу тесты селена с использованием объектной модели страницы. У меня есть страницы в одном классе, а тесты в другом. Тем не менее, я пытаюсь выполнить только PageFactory.initelements
один раз в тестовом классе, так что я не должен добавить строку в каждом тесте (в этом классе, в любом случае, я хочу сделать что-то вроде этого:Selenium PageFactory: initelements один раз в классе?
import com.company.pages.LoginPage
public class LoginTests {
LoginPage login = PageFactory.initElements(driver, LoginPage.class);
@Test
public void test1() {
login.method();
}
@Test
public void test2() {
login.methodTwo();
}
}
Но я продолжайте получать NullPointerException
на объекте, который я определил в классе LoginPage
. Это говорит мне, что страница никогда не была инициализирована. Но поскольку я относительно новичок в Java, я не знаю, как ее инициализировать. Спасибо за вашу помощь!
Это на самом деле не сработало, но это привело меня к ответу. У меня есть определения моего драйвера в другом классе с использованием '@ BeforeMethod' TestNG, поэтому я добавил еще один' @ BeforeMethod' в фактический класс тестов, который запускается после первого, и помещаем туда код! – kroe761