изменение / выбор значения в выпадающем списке .. используя Geb - PullRequest
0 голосов
/ 25 января 2019

Как Геб Ньюб, это сбивает с толку.При попытке щелкнуть поле со списком / раскрывающимся списком, я получаю следующую ошибку:

"geb.error.RequiredPageContentNotPresent: требуемый контент страницы" pages.ecomm.NewEnrollmentPage -> countrySelected: geb.module.Выберите «нет»

1.страница выглядит следующим образом enter image description here

2.Вот мой источник:

3.тестовый код спецификации, для выбора выпадающего списка.Появляется ошибка, указывающая на то, что содержимое / элемент countrySelected отсутствует на странице?Или я даже не на странице?

NewEnrollmentPage.groovy

import geb.Page
import geb.module.Select

class NewEnrollmentPage extends Page {


    static url = "/shop/spring/enrollment/start/78867?tagCountry=AN&customerType=D&tagLang=ENU&__checkbox_isPC=true&UNI_TODAY=true&__checkbox_UNI_TODAY=true&clearSession=1"
                // "/shop/spring/enrollment/product/landing"
                // below for mwebs (non-prod) --->v

    //At Checker
    static at  = {
        title == "Enrollment"
    }

    static content = {
        // <navigatorName ><options map> <actual navigator>
        CrInitOrdButton(wait: true) { driver.findElement(By.id($("[id='toProductsPage']"))) }
        countrySelected { $("#countrySelected").module(Select) }
        //Options Map
        /* wait : true
         * required : false
         *
         *
         *
         */
    }
}

test.groovy

class test extends smoke.ecomm.resource.ShopBootStrap {

   def "Select Country"() {
        given:
            at NewEnrollmentPage
        when: "select United States for Country"
            **countrySelected.value('US')**

    .
    .
    .

    }

}

1 Ответ

0 голосов
/ 25 января 2019

Ваш селектор неверен. Вы выбираете, используя идентификатор countrySelected, но это имя вашего элемента, а его идентификатор на самом деле countries. Поэтому вам нужно изменить определение контента на:

countrySelected { $("#countries").module(Select) }

или

countrySelected { $(name: "countrySelected").module(Select) }
...