В настоящее время я храню свои местоположения элементов в отдельном классе вдали от их методов доступа, и я ищу более эффективный способ их хранения. Из того, что я прочитал, Enum, если идти. Мои вопросы - мое предположение верно? и как его реализовать? Ниже приведен небольшой пример того, как она работает сейчас:Сохранение постоянных элементов webdriver в enum
Элементы класса:
public class GeneralJobElements {
protected By ProcurementWorkFlow = By.name("procurementWorkflow");
protected By JobOwner = By.name("jobOwner");
protected By JobTitle = By.name("i18n_jobTitle_minimized");
}
Accessor класс:
public class CreateJobGeneralTabActions extends GeneralJobElements {
public CreateJobGeneralTabActions selectJobOwner(int index) {
logMessage(JobOwner, "Job Owner");
Select sele = new Select(getWebElement(JobOwner));
sele.selectByIndex(index);
return this;
}
общественного CreateJobGeneralTabActions fillJobTitle() {
logMessage(JobTitle, "Job Title");
getWebElement(JobTitle).sendKeys(JOB_TITLE);
logger.info("The job title is: " + JOB_TITLE);
return this;
}
public CreateJobGeneralTabActions selectJobApprovalWF(int index) {
logMessage(ProcurementWorkFlow, "Procurement Workflow");
Select sele = new Select(getWebElement(ProcurementWorkFlow));
sele.selectByIndex(index);
return this;
}
Мне не нравится идея, что я расширяю класс элементов
Где вы узнали, что использование Enum было бы полезно? –