簡體   English   中英

頁面對象gem-如何實現wait_until_present

[英]Page-object gem - how to implement wait_until_present

我正在使用與Cucumber和Watir一起工作的頁面對象gem邁出第一步。 我當前的步驟定義文件具有如下命令:

@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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM