Ruby on rails 在Cucumber(Rails)中测试时,下拉菜单为空

Ruby on rails 在Cucumber(Rails)中测试时,下拉菜单为空,ruby-on-rails,cucumber,selenium-webdriver,simple-form,Ruby On Rails,Cucumber,Selenium Webdriver,Simple Form,我正在使用Cucumber对我的Rails应用程序进行一些测试,在我从下拉菜单中选择一个选项之前,一切都进展顺利。用简单的宝石做成的选择器。我已经安装了selenium webdriver gem 这个菜单适用于现实生活中的Chrome、Firefox、Safari测试,但是当我运行Cumber测试时,菜单是空的。我为这个场景启用了@javascript,我看到它在Firefox中运行。它可以找到菜单,当它点击它时,列表是空的,因此测试失败,因为它需要选择一个指定的选项,而这个选项不在那里。有什

我正在使用Cucumber对我的Rails应用程序进行一些测试,在我从下拉菜单中选择一个选项之前,一切都进展顺利。用简单的宝石做成的选择器。我已经安装了selenium webdriver gem

这个菜单适用于现实生活中的Chrome、Firefox、Safari测试,但是当我运行Cumber测试时,菜单是空的。我为这个场景启用了@javascript,我看到它在Firefox中运行。它可以找到菜单,当它点击它时,列表是空的,因此测试失败,因为它需要选择一个指定的选项,而这个选项不在那里。有什么想法吗

编辑:这是cucumber步骤定义中的代码

#...
find('#user_device_device_id').click
select('<some menu option>', :from => 'user_device_device_id' )
#...
来自Firefox的HTML选择器源代码-不在Cucumber测试期间:

<select id="user_device_device_id" name="user_device[device_id]">
  <option value="1" data-connectiontype="abc">Device 1</option>
  <option value="2" data-connectiontype="defg">Device 2</option>
</select>

没关系,找到问题了。测试中使用的数据库在开始时总是空的,所以我的设备在测试中都不存在。修复方法只是调用Device.create!在转到表单页面之前,在其中一个步骤中使用必要的参数。工作完美。

请编辑您的问题,并添加复制问题的最低代码量。@orde Done。希望这足够了?
<select id="user_device_device_id" name="user_device[device_id]">
  <option value="1" data-connectiontype="abc">Device 1</option>
  <option value="2" data-connectiontype="defg">Device 2</option>
</select>