Как смоделировать выделение из элемента управления SELECT в sfTestBrowser - PullRequest
1 голос
/ 18 мая 2011

В функциональном тесте в Symfony sfTestBrowser предоставляет методы

  • click () "Имитирует щелчок по ссылке или кнопке."
  • select () "Имитирует выбор флажкаили radiobutton. "

и unselect ().

Но я не нашел способа имитировать выбор из элемента

Кто-нибудь знает способ сделать это?

1 Ответ

2 голосов
/ 18 мая 2011

Это меня тоже беспокоило. Я предполагаю, что вы просто хотите установить значение для отправки формы? Если вы знаете значение, вы, конечно, можете просто сделать

$browser->click('Save', array(
    'theselectfield' => 'desired_value'
));

Но обычно я не знаю значение, которое я хочу опубликовать, потому что оно из поля выбора на основе базы данных. Итак, мое решение

$theOption = $browser->getResponseDomCssSelector()->matchAll('select[name*=name_of_select_field] option:contains(TheOptionTextYouWant)')->getNode();

$browser->setField('theselectfield', $theOption->getAttribute('value'));
... or use $browser->click() instead ...

Разочарование, потому что вам нужно вырваться из цепочки вызовов $ browser, чтобы использовать getResponseDomCssSelector (), но я не нашел более простого способа.

...