无法从黄瓜水豚的下拉菜单中选择一个值

时间:2012-05-02 14:41:42

标签: cucumber capybara

我正在使用黄瓜和水豚来自动化网络应用程序。我必须从下拉列表中选择一个值,但很多时候我会收到类似的错误; “错误的参数类型String(期望的数组)(TypeError)”

我尝试过: 1。

second_option_xpath = ".//*[@id='selecttype']/option[2]"  
second_option = find(:xpath, second_option_xpath).text
select(second_option, :from => 'selecttype')

2

select "Selenium Core", :from => 'selecttype'

3

page.find_and_select_option("selecttype", 2)

4

select( "selecttype", {"Selenium Core" => 2})

页面来源有点像:

<select id="selecttype"> 
<option value="Selenium IDE">Selenium IDE</option> 
<option value="Selenium Code">Selenium Core</option> 
<option value="Selenium RC">Selenium RC</option> 
<option value="Selenium Grid">Selenium Grid</option> 
</select>"

请说明我做错了什么?

由于

2 个答案:

答案 0 :(得分:7)

你试过吗

page.select('Selenium Core', :from => 'selecttype')

答案 1 :(得分:0)

正如RobertH建议的那样,你应该使用像page.select这样的东西,其中page是一个Capybara :: Session实例。

当您在代码中调用select时,您正在调用内核模块的方法,该方法混合在每个类继承的基本Object类中。

此方法需要4个参数,其中3个是IO对象数组;这就是它抱怨错误论据的原因。