Я пишу тест Selenium на PHP, используя расширение PHPUnit Selenium.
Я знаю, как ввести что-то в текстовое поле:
$this->type('fieldName', 'value');
Но как выбрать опцию из выпадающего меню?
Чтобы расширить другие (точные) ответы, вы можете выбрать на основе метки, значения, идентификатора или индекса параметров. Из официальной справки, доступной по адресу http://release.seleniumhq.org/selenium-core/1.0/reference.html :
выберите (selectLocator, optionLocator)
Аргументы:
- selectLocator – локатор элементов, определяющий раскрывающееся меню
- optionLocator – локатор параметров (по умолчанию это метка)
Выберите опцию из раскрывающегося списка с помощью локатора параметров.
Локаторы опций предоставляют различные способы указания параметров элемента HTML Select (например, для выбора конкретной опции или для утверждения, что выбранная опция удовлетворяет спецификации). Существует несколько форм Select Option Locator.
- label = labelPattern : сопоставляет параметры на основе их меток, то есть видимого текста. (Это значение по умолчанию).
- метка = регулярное выражение: ^ [Oo] Ther
- value = valuePattern : сопоставляет параметры, основанные на их значениях.
- Значение = другие
- id = id : соответствует параметрам на основе их идентификаторов.
- ID = опция1
- index = index : соответствует параметру на основе его индекса (смещение от нуля).
- Индекс = 2
Если префикс локатора параметров не задан, поведение по умолчанию должно совпадать с меткой.
$this->select("selectFieldIdentifier", "label=Option label");
//note that it's the option text not value $this->select('selectName', 'LabelText');