Testing 如何在sfTestBrowser中模拟选择控件中的选择
在symfony中的功能测试中,sfTestBrowser提供了一些方法Testing 如何在sfTestBrowser中模拟选择控件中的选择,testing,symfony1,functional-testing,Testing,Symfony1,Functional Testing,在symfony中的功能测试中,sfTestBrowser提供了一些方法 单击()“模拟单击链接或按钮。” 选择()“模拟选择复选框或单选按钮。” 和取消选择() 但我还没有找到一种方法来模拟从元素中进行选择 有人知道怎么做吗?这也困扰着我。我假设您只想设置表单提交的值?如果你知道这个值,你当然可以这么做 $browser->click('Save', array( 'theselectfield' => 'desired_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 ...
令人沮丧的是,为了使用GetResponseDomCSSelector(),您必须打破$browser调用链,但我没有找到更简单的方法。谢谢。我曾经想过这样的事情,但是看起来很可怕,我不知道如何选择这个选项。如果这是我正在测试的转换,那么browser->click()将起作用(尽管计算出所有参数很痛苦)。