在symfony的功能测试中,sfTestBrowser提供了方法
并取消选择()。
但我还没有找到一种模拟从< select>进行选择的方法。元件。
有人知道这样做的方法吗?
答案 0 :(得分:2)
这也困扰了我。我假设您只想设置表单提交的值?如果你知道价值,你当然可以做到
$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 ...
令人沮丧,因为你必须打破$浏览器调用链,才能使用getResponseDomCssSelector(),但我找不到更简单的方法。