很久没写博客了- -
记得几年前使用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