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

西门飞翮
2023-12-01

很久没写博客了- -

记得几年前使用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开发了,实践是最好的老师。
 
 
 

 

转载于:https://www.cnblogs.com/jiajia-autotesting/p/6428574.html

 类似资料: