Выбор селена по значению: ошибка получения класса неиспользованного при использовании Page Factory - PullRequest
0 голосов
/ 03 марта 2020

мой класс действий похож на ниже

public class NewUserFormAction {
public static void Execute(WebDriver driver,List<HashMap<String,String>> map) throws Exception{
    abstract class CalendergetDropdown{

            // get a select dropdown list

            public Select getSelectOptionsDay() {
                  return new Select(NewUserFormPage.Calandersection.day_dropdownList);
                }

            public Select getSelectOptionsMonth() {
                  return new Select(NewUserFormPage.Calandersection.month_dropdownList);
                }

            public Select getSelectOptionsYear() {
                  return new Select(NewUserFormPage.Calandersection.years_dropdownList);
                }


            // Set the calender values


            public void  setDayoption(String day) {
                getSelectOptionsDay().selectByValue(dateOfBirth);
            }

            public void setMonthoption(String month) {
                getSelectOptionsMonth().selectByValue(monthOfBirth);
            }

            public void setYearoption(String year) {
                getSelectOptionsYear().selectByValue(yearOfBirth);
            }

}

Я получаю предупреждение ниже, поэтому мой код не может выбрать значение из выпадающего списка день / месяц / год. дайте мне знать, если я что-то упустил при реализации select в POM.

введите описание изображения здесь

1 Ответ

0 голосов
/ 06 марта 2020

Я нашел решение этой проблемы: ссылка на объект родительского класса newuserformpage не была создана в классе newuserAction, поэтому объектам было дано предупреждение. ниже приведен код, который решает эту проблему.

NewUserFormAction actionForm = new NewUserFormAction();

    WebDriverWait wait = new WebDriverWait(driver,10);
    wait.until(ExpectedConditions.elementToBeClickable(NewUserFormPage.gender));
    NewUserFormPage.gender.click();
    NewUserFormPage.customer_firstname.sendKeys(actionForm.name);
    NewUserFormPage.customer_lastname.sendKeys(actionForm.Surname);
    NewUserFormPage.password_new_cust.sendKeys("password");

    Select selectDate = new Select(NewUserFormPage.Calandersection.day_dropdownList); 
    selectDate.selectByValue(dateOfBirth);

    Select selectMonth = new Select(NewUserFormPage.Calandersection.month_dropdownList); 
    selectMonth.selectByVisibleText(monthOfBirth);

    Select selectYear = new Select(NewUserFormPage.Calandersection.years_dropdownList); 
    selectYear.selectByVisibleText(yearOfBirth);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...