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

我正在运行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(Web驱动程序)将默认驱动程序更改为goutte(无头)时,这非常有效 .

我试图搜索这个论坛和Google搜索任何细节,但没有找到任何有用的信息 .

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

回答(1)

2 years ago

我刚刚解决了这个问题 .

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

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][]"
...

这现在有效 .