メモログ

塵が積もって山とならないメモのログ

watir 1.6.7 リリース

watirの1.6.7がリリースされたみたいですね。

今回のリリースはwaitメソッドの追加が主のようです。Watir::Elementに#when_present, #wait_until_present, #wait_while_present, #present?という4つのメソッドを追加して、Watir::IE and Watir::Firefoxに#wait_until, #wait_whileという2つのメソッドが追加されています。

1.6.7のドキュメントにはメソッドの詳細がまだ載ってないようですが、#present?はelement(:id,‘id’).present?と指定すると、existでvisibleの場合にtrueを返すみたいなメソッドで、#when_presentは、element(:id,‘id’).when_present{ |element| element.click} みたいに、対象がpresentになった場合にブロッグを実行するみたいなメソッド。

#wait_untilは、browser.wait_until(60){|b| b.link(:id, ‘flyout’).exist?}みたいに、ブロックの条件がtrueになるまでwaitする。引数にタイムアウトの秒数を設定できる(タイムアウトした場合は例外が発生)。#wait_whileはブロックの条件がtrueの間waitする(falseになるまでwaitする)。

そして、#wait_until_presentは対象がpresentになるまでwaitして、#wait_while_presentは対象がpresentの間はwaitするみたいな感じ。Javascript/AJAX的な処理をした場合で画面全体が遷移しないようなときに使えそうですね。

さっそくインストールしてみましたが、特に問題なく動作しております。