2017-07-18 4 views
0

私はCucumberとWatirで作業しているページオブジェクトの宝石で私の最初のステップを踏み出しています。Pageオブジェクトの宝石 - wait_until_presentを実装する方法

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

ページ・オブジェクトを使用して、私は次のコードでワチール(ごめん)テストしてい::私が得るよう

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

home_page = HomePage.new 
home_page.user_name = 'Mickey' 

これは動作しませんが、私の本工程定義ファイルは、次のようなコマンドを持っています'no method error'

私はこれを行うことができます。ページオブジェクトとwait_untilまたはwhen_visibleを使用してのベストです何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' 

を使用していますか?可能であれば、私のステップファイルにはたくさんの睡眠を入れたくありません。あなたはワチールの最新バージョンを使用していると仮定すると、

答えて

2

は、あなたが簡単に行うことができます。つまり

class HomePage 
    include PageObject 
    text_field(:user_name, name: 'username') 
end 

home_page = HomePage.new 
home_page.user_name = 'Mickey' 

を、あなたは明示的に設定する前に存在することがテキストフィールドを待つ必要はありません。

Watirには、設定する前に要素が存在するのを自動的に待つなど、多くの改善がありました。その結果、wait_until_presentに電話する必要はほとんどありません。

+0

感謝ジャスティン、私は今朝、電車であなたをフィーチャーしたWatirポッドキャストを聞いていました。私は最新のWatir 6を使用しています。私はWatirを信頼し始め、wait_until_presentsのいくつかを取り出して、どうやったらどうなるかを見ていきます。 – albatross

関連する問題