在symfony的一个功能测试中,sfTestBrowser提供了方法
- click() “模拟点击链接或按钮。”
- select() “模拟选择复选框或单选按钮。”
和取消选择()。
但我还没有找到一种方法来模拟从
有人知道如何做到这一点吗?
最佳答案
这也困扰着我。我假设您只想设置表单提交的值?如果你知道值(value),你当然可以这样做
$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(),但我还没有找到更简单的方法。
关于testing - 如何在 sfTestBrowser 中模拟 SELECT 控件的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048223/