很久沒寫博客了- -
記得幾年前使用watir的時候還是1.x系列,個人感覺還是非常好用的,不過缺點也很明顯,只支持ie,對於彈出框下載框等支持不是很好,經常需要結合autoit 一起使用。
中間有一段時間沒有使用過watir,它也一直不溫不火,不過與此同時selenium2卻大放異彩,應該說變成主流自動化測試工具了(另一是QTP)。
而后想再次使用watir的時候,卻發現了watir-webdriver這一工具,selenium2的ruby封裝版本,瞬間就被吸引了。它具有selenium2的所有優點,並且實際使用起來比原生selenium2語法更簡潔更方便,不過還是有一些watir上的好的功能沒有帶出來。特別明顯的是attach方法。就是控制已打開的瀏覽器的方法,因為selenium只可以從頭打開新的瀏覽器進行操作,對於已經打開過的瀏覽器 不可以再進行操作。這種特性有時候並不便於調試代碼或其他功能。
沒事的時候也研究過這個attach功能,發現它依靠於另一個gem-rautomation(http://www.rubydoc.info/gems/rautomation) 不過已經很久沒更新了,也只支持32位。研究了下源碼發現想要實現attach功能到watir-webdriver 還是很有難度的,然后就放棄了 - - 等待大神。
又隔了一段時間,忽然發現selenium2 更新到selenium3了-- 然后watir也更新到watir6.0了(watir-webriver的升級版,可以把watir-webdriver丟了。),全面支持selenium3.特意寫下這篇博客,記錄下watir 的變化。
--------------------------------------------------------------------------------------------------------------------------------------------
想學習好watir,還是要多看api (http://www.rubydoc.info/gems/watir )
watir 主頁地址:(http://watir.github.io/) 建議沒事多看看,很多功能已經描述清楚。
ruby 安裝包地址:https://rubyinstaller.org/downloads/
對於不同瀏覽器有不同的驅動需要下載:
不同瀏覽器的驅動地址
常用的 瀏覽器 :
firefox:
#browser = Watir::Browser.new :firefox
#browser = Watir::Browser.new :ie
#browser = Watir::Browser.new :edge
browser.goto 'www.google.com'
browser.text_field(title: 'Search').set 'Hello World!'
browser.button(type: 'submit').click
puts browser.title
# => 'Hello World! - Google Search'
browser.quit