Selenium: Как выбрать опцию в меню выбора? - PullRequest
6 голосов
/ 12 мая 2010

Я пишу тест Selenium на PHP, используя расширение PHPUnit Selenium.

Я знаю, как ввести текст в текстовое поле:

$this->type('fieldName', 'value');

Но как мне выбрать опцию из выпадающего меню?

Ответы [ 3 ]

12 голосов
/ 12 мая 2010

Чтобы развернуть другие (точные) ответы, вы можете выбрать их на основе метки, значения, идентификатора или индекса параметров. Из официальной справки можно получить http://release.seleniumhq.org/selenium-core/1.0/reference.html:

select (selectLocator, optionLocator)

Аргументы:

  • selectLocator - локатор элементов, идентифицирующий выпадающее меню
  • optionLocator - локатор опций (метка по умолчанию)

Выберите опцию из выпадающего списка, используя локатор опций.

Локаторы опций предоставляют различные способы задания опций элемента HTML Select (например, для выбора конкретной опции или для подтверждения того, что выбранная опция удовлетворяет спецификации). Существует несколько форм выбора опций Locator.

  • label = labelPattern : соответствует параметрам на основе их меток, то есть видимого текста. (Это по умолчанию.)
    • этикетка = регулярное выражение: ^ [Oo] * 1028 Ther *
  • value = valuePattern : сопоставляет параметры на основе их значений.
id = id : сопоставляет параметры на основе их идентификаторов.
  • ID = option1
index = index : соответствует параметру на основе его индекса (смещение от нуля).
  • индекс = 2

Если префикс локатора параметров не указан, поведение по умолчанию соответствует метке.

2 голосов
/ 12 мая 2010
 $this->select("selectFieldIdentifier", "label=Option label");
2 голосов
/ 12 мая 2010
//note that it's the option text not value
$this->select('selectName', 'LabelText');
...