我只想在主页上自动点击按钮。我正在使用以下代码片段
Given /^I press "(.*)"$/ do |action|
browser.button(:text => action).click
end
我的功能文件包含以下内容
Scenario: Default Search
Given I press "Search"
执行功能文件时,收到以下错误
*** WARNING: You must use ANSICON 1.31 or higher (https://github.com/adoxa/ansicon/) to get coloured output on Windows
Ambiguous match of "I press "Search"":
C:/Users/............test/features/step_definitions/Moorings.rb:8:in `/^I press "(.*)"$/'
答案 0 :(得分:0)
哈...你在该页面(www.moorings.com)上有3次出现文本"Search"
,因此watir
驱动程序并不真正知道要点击哪一个。
正如我上面提到的,尝试使用一些独特的东西,可能是id
,如下所示:
#step definition
Given /^I press "(.*)", with id "(.*)"$/ do |text, id|
browser.button(id: id, :text => text).when_present.fire_event :click
end
#feature
Scenario: Default Search
Given I press "Search", with id "edit-search"
请注意,我已经为要搜索的属性添加了另一个id约束。
另请注意,我添加了一层额外的支票:.when_present
。这将确保测试在尝试单击之前等待指定的按钮出现在页面上。然而,附加约30秒的超时。