вести себя как норка, эквивалентная раскрывающемуся списку->selectOptionByText()?

Я работаю с Selenium и веду минк впервые. У меня есть следующий код:

$category_dropdown = $this->find('xpath', "//select[@name=\"category\"]");
echo $category_dropdown->getHtml();
$category->selectOptionByText('Take Out);

и вывод:

<option value="183">Fast Food</option>
<option value="186">Take Out</option>
PHP Fatal error:  Call to undefined method Behat\Mink\Element\NodeElement::selectOptionByText()

Строка $category->selectOptionByText('Take Out'); вызывает ошибки, потому что функция selectOptionByText на самом деле не существует. Есть ли другой способ добиться желаемого поведения?

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


person John    schedule 07.05.2017    source источник


Ответы (1)


Ты был близок... Попробуй использовать

$category->selectOption('Take Out');

Вот ССЫЛКА на все методы из класса NodeElement

И, кстати, уже есть метод Огурца, который может помочь вам I select "([^"]|\"*)" from "([^"]|\"*)", который в вашем случае

I select "Take Out" from "category"

Вот СПИСОК уже доступные методы корнишонов

person Igor Lantushenko    schedule 07.05.2017
comment
Я получаю select option with value|text "1" not found. (Behat\Mink\Exception\ElementNotFoundException) Знаешь почему? Я предоставил текст Take Out, но почему он оценивается как номер 1? - person John; 07.05.2017
comment
Если я изменяю текст на Take Out blahblah, то получаю ошибку select option with value|text "Take Out blahblah" not found. (Behat\Mink\Exception\ElementNotFoundException). Странно, что Take Out сообщает номер 1, но Take Out blahblah сообщает Take Out blahblah... - person John; 07.05.2017
comment
это странно.. что если попробовать установить опцию Fast Food?. Можете ли вы вставить весь элемент выбора html - person Igor Lantushenko; 07.05.2017
comment
Fast Food также дает мне 1 ошибку. Если я попытаюсь выбрать любое значение, которое на самом деле находится в выбранных элементах, я получаю 1 ошибку, в противном случае я получаю любой текст, который я ввел с ошибкой. Я посмотрю, смогу ли я еще больше упростить задачу - person John; 07.05.2017
comment
О, подождите, я понимаю, к чему вы клоните. Я думаю, что путаю эту ошибку с другой опцией выбора в других местах моих тестов. Это, наверное, все. - person John; 07.05.2017
comment
да... так что этот шаг успешно пройден, а затем еще один с 1 не прошел.. возможно - person Igor Lantushenko; 07.05.2017