页面对象 gem - 如何实现wait_until_present



我正在迈出我的第一步,使用页面对象 gem 与 Cucumber 和 Watir 一起工作。我目前的步骤定义文件具有如下命令:

@browser.text_field(:name => 'Username').wait_until_present.set username

使用页面对象,我正在使用以下代码测试watir(抱歉(:

class HomePage
include PageObject
text_field(:user_name, name: 'username').wait_until_present
}
end
home_page = HomePage.new
home_page.user_name = 'Mickey'

这不起作用,因为我收到"无方法错误">

谷歌搜索显示我可以做到这一点。 但它使用的是when_visible而不是wait_until_present

class HomePage
include PageObject
text_field(:user_name){
text_field_element(:name => 'username').when_visible
}
end
home_page = HomePage.new
home_page.user_name = 'Mickey'

将wait_until或when_visible与页面对象一起使用的最佳方法是什么?如果可能的话,我不想在我的步骤文件中放置很多睡眠。

假设您使用的是最新版本的 Watir,您只需执行以下操作:

class HomePage
include PageObject
text_field(:user_name, name: 'username')
end
home_page = HomePage.new
home_page.user_name = 'Mickey'

换句话说,在设置文本字段之前,您无需显式等待文本字段存在。

Watir 有许多改进,包括在设置元素之前自动等待元素存在。因此,您应该很少(从不?(需要呼叫wait_until_present

相关内容

  • 没有找到相关文章

最新更新