Я автоматизирую свой проект, используя объектную модель страницы. Но я заметил, что всякий раз, когда я пишу два разных сценария для автоматизации одного и того же объекта страницы, мне нужно инициализировать элементы для этого теста каждый раз, когда я пишу тест с использованием метода Pagefactory.initElements. Есть ли способ, чтобы это можно было инициализировать только один раз и использовать повторно во всех тестовых случаях?
Я попытался сделать ссылку переменной, например, для "manorgpom ort = PageFactory.initElements (getdriver (), manorgpom"). класс);"ort быть статическим, но это дает исключение нулевого указателя. Я инициализировал их вне моих тестовых случаев и сделал эталонную переменную статической, но безуспешно.
@Test(priority=3)
public void orgact() throws Exception {
manorgpom ort=PageFactory.initElements(getdriver(), manorgpom.class);
getdriver().manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
ort.actorg();
Thread.sleep(5000);
}
@Test(priority=4)
public void orgadd() throws Exception{
manorgpom ort=PageFactory.initElements(getdriver(), manorgpom.class);
getdriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
ort.addorg();
Thread.sleep(10000);
}
Если вы видите выше, мне нужно инициализировать веб-элементы каждый раз, когда я пишу тестовый пример. Каждый раз мне нужно упомянуть «manorgpom ort = PageFactory.initElements (getdriver (), manorgpom.class);». Я хочу оптимизировать это.
Это фрагмент класса manageorgpom.
public class manorgpom extends Basetest{
@FindBy(xpath="//*[@href='/organization']")
WebElement orglink;
@FindBy(xpath="//*[@class='anticon anticon-filter']")
WebElement filter;
@FindBy(xpath="//*[@placeholder='e.g. High School USA']")
WebElement filternametxt;
@FindBy(xpath="//*[text()='Activate']")
WebElement activatelink;
@FindBy(xpath="//*[@placeholder='e.g. Johnny']")
WebElement contactfirstname;
Когда я сделал ссылку на переменную ort статической, я получаю исключение java.lang.nullPointerException при каждом запуске пакета. Пожалуйста, помогите мне.