watir6.0 -selenium3新時代的watir-webdriver


很久沒寫博客了- -

記得幾年前使用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:

https://github.com/mozilla/geckodriver/releases
 
chrome:
 
 
將各個瀏覽器的驅動下載好之后
(我下載了4個驅動,firefox瀏覽器:geckodriver.exe,chrome瀏覽器:chromedrvier.exe, ie瀏覽器:IEDriverServer.exe,edge瀏覽器:MicrosoftWebDriver.exe)
將驅動文件放入 C:\Ruby22\bin 文件夾內 就可以了。
 
require 'watir'
browser = Watir::Browser.new :chrome
#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

 
這里有一個問題,就是chrome 瀏覽器的時候,即使后面不加browser.quit 或者browser.close 方法 瀏覽器執行完也會自動關閉。不知道是不是只有我遇到這個問題,
這個問題已經提給watir開發組了,不過還沒有回復- - 。
 
 
如此就可以進行watir開發了,實踐是最好的老師。
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM