1
模拟选择在symfony的功能测试,sfTestBrowser提供的方法如何从SELECT控制在sfTestBrowser
- 点击()“模拟一个链接或按钮上的点击。”
- select()“模拟选择复选框或单选按钮。”
和unselect()。
但我还没有找到一种方法来模拟从<选择>元素进行选择。
有没有人知道一种方法来做到这一点?
模拟选择在symfony的功能测试,sfTestBrowser提供的方法如何从SELECT控制在sfTestBrowser
和unselect()。
但我还没有找到一种方法来模拟从<选择>元素进行选择。
有没有人知道一种方法来做到这一点?
这一直困扰着我。我假设你只是想设置表单提交的价值?如果你知道的价值,你当然可以只是做
$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(),但我还没有找到一个更简单的方法。
谢谢。我曾想过类似的东西,但它看起来可怕,我看不出如何选择的选项。如果这是我测试的过渡,浏览器的>点击()就可以了(虽然这是制定出所有参数的疼痛)。 – 2011-05-23 11:32:58