使用Selenium在Behat中执行功能文件时找不到表单字段

时间:2013-05-08 14:21:42

标签: selenium behat atdd

我正在运行Behat功能文件,我尝试在表单字段中选择一个选项

When I select "Lisa Hayes" from "settings_custom[Counselor][]"

其中“Lisa Hayes”是表单名称“settings_custom [Counselor] []”中的值之一。元素详情如下:

<select id="settings_customCounselor" name="settings_custom[Counselor][]" multiple="multiple" size="4" class="valid">
<option value="" selected="">(does not matter)</option>
<option value="685572">Lisa Hayes</option>
<option value="685573">Ricky Hunter</option>
<option value="685574">Max Sterling</option></select>

我在命令行上执行功能文件时出错

  

表单字段,其中包含id | name | label | value“settings_custom [Counselor] []”未找到。

我的默认驱动程序是selenium2(我在后台运行selenium-server-standalone-2.32.0.jar服务器,我的浏览器是firefox)。

请注意,当我从selenium(网络驱动程序)将默认驱动程序更改为goutte(无头)时,这非常有效。

我试图搜索此论坛并搜索任何具体信息,但没有找到任何有用的信息。

如果您需要更多信息,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:0)

我刚解决了这个问题。

问题不在于该功能的语法。声明之前的步骤

When I select "Lisa Hayes" from "settings_custom[Counselor][]"

由于某种原因没有加载正确的页面。因此,步骤定义无法找到元素。

我尝试将语句替换为直接转到表单所在的页面并实现了一个wait语句以确保所有元素都加载

And I am on "some URL"
And I wait "2000"
When I select "Lisa Hayes" from "settings_custom[Counselor][]"
...

这现在有效。