Итак, я слежу за объектной моделью страницы и у меня есть класс (класс A), который имеет элементы и функции для конкретной страницы. У меня также есть тестовый класс Test, который использует класс A. В настоящее время у меня есть как минимум 222 веб-элемента для страницы, потому что на странице есть много компонентов, которые необходимо заполнить для регрессионного тестирования. Как вы можете себе представить, объект Page имеет сотни строк кода с веб-элементами в верхней части и функциями в нижней части. Я хочу знать, как я могу разделить эти веб-элементы, чтобы код был чище.
Я видел статьи от guru99 о том, как вы можете вставить его и XML, но как это делается в статьене решает мою проблему, потому что мне все равно нужно было бы инициализировать их как угодно или иметь везде «driver.find (locator from XML)», и поэтому код по-прежнему будет грязным.
Класс объекта страницы A
public class PageA extends BasePage{
@FindBy(xpath="//*[some xpath]")
WebElement inputField1
@FindBy(xpath="//*[some xpath]")
WebElement inputField2
@FindBy(xpath="//*[some xpath]")
WebElement inputField3
public PageA(Webdriver driver){
super(driver);
}
public void method1(){
//do something
}
}
Я хочу иметь возможность инициализировать 222 веб-элемента где-то еще, чтобы код был чище