很久没写博客了- -

记得几年前使用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/

对于不同浏览器有不同的驱动需要下载:

不同浏览器的驱动地址

http://docs.seleniumhq.org/download/

常用的 浏览器 :

firefox:

https://github.com/mozilla/geckodriver/releases
chrome:
http://chromedriver.storage.googleapis.com/index.html?path=2.27/
将各个浏览器的驱动下载好之后
(我下载了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

watir6.0 -selenium3新时代的watir-webdriver相关推荐

  1. 工业4.0的新时代,我们的教育该何去何从?

    先分享两篇文章:工业4.0时代,怎样为孩子筹备未来的教育? 应试教育的死穴,恰在于堵死了孩子"犯错"的空间 这两篇文章主要写的是教育和未来的关系,而在工业4.0时代,我们的教育应该 ...

  2. 偶像工场,开启虚拟人数字藏品新时代

    在当下火爆的元宇宙和web3.0赛道,越来越多的人尤其热衷于数字藏品的收藏,虚拟偶像也凭借独特的人设吸引着越来越多的科技公司纷纷步局虚拟市场.与此同时,形色各异的数字藏品平台也应运而生.今天为大家带来 ...

  3. 再见了kafka2.0时代,去掉了zk的kafka3.0才是时代新王!

    项目初期,对于消息队列,你会选择Kafka.ActiveMQ还是RabbitMQ? 对于这个问题,反向来看,估计很少有人会选择Kafka. 而kafka3.0的诞生彻底扭转了战局! 虽然凭借着高吞吐. ...

  4. 新时代 新营销 新增长, 纷享销客重磅发布CRM7.0产品,持续赋能企业数字化未来

    2020年4月26日,主题为"新时代 新营销 新增长"的纷享销客2020销售增长大会暨春季战略与新品发布会,在GMIC大会期间成功举办.纷享销客创始人&CEO罗旭发表&qu ...

  5. 合力亿捷云客服3.0 开启“全员客服”新时代

    云计算细分市场的竞争号角从很早之前就已经打响,尤其在云通讯领域更是有大量的公司涌入.作为2008年就开启云客服的合力亿捷来讲无疑是行业中的先行者. 2016年7月7日,北京合力亿捷科技股份有限公司(简 ...

  6. 合力亿捷发布云客服3.0,开启全员客服新时代

    近日,北京合力亿捷科技股份有限公司,正式发布2016云客服3.0产品,帮助企业提升移动接入和内部协同能力,开启"全员客服"新时代.合力亿捷的数百家重量级客户嘉宾受邀出席了此次发布会 ...

  7. 深度解读互联网新时代:Web3.0

    文章目录 深度解读互联网新时代--Web3.0 一.Web3 -- 中心化网络的新兴名词 二.Web3 "全家福" 三.Web3 是互联网的货币层 四.Web3 是互联网的身份层 ...

  8. 【观察】大数据3.0新时代 星环科技的思与行

    申耀的科技观察 读懂科技,赢取未来! 众所周知,如今的世界正在以加速度进入到智慧时代,特别是随着各项业务的云化深入以及万物互联,数据处理能力的进一步提升,智能算法一次又一次的突破,以及云计算在传统产业 ...

  9. Discuz!6.0.0 开启社区论坛(BBS)新时代

    Discuz!6.0.0正式版面向全球用户提供免费下载使用,等待多日的数万站长在官方网站第一时间参与了新版本的发布过程. Discuz!是康盛创想(Comsenz)公司旗下核心论坛软件系统,也是国内社 ...

最新文章

  1. Python时间序列模型推理预测实战:时序推理数据预处理(特征生成、lstm输入结构组织)、模型加载、模型预测结果保存、条件判断模型循环运行
  2. 上凸函数的判定方法(两种)
  3. 强化学习(二)马尔科夫决策过程(MDP)
  4. zoj 3209 Dancing links/hust 1017
  5. Oracle索引扫描四大类的分析
  6. 在load事件中关闭窗体
  7. python自动化框架pytest pdf_Python 自动化测试框架 unittest 和 pytest 对比
  8. Java描述设计模式(08):桥接模式
  9. JAVA Swing GUI设计 WindowBuilder Pro Container使用大全1——JTabbePane(卡片)使用
  10. 某程序员的薪水变化数据
  11. 配置VS2008来Debug .Net框架源码
  12. 开放源码软件的安装(tar包安装方法)
  13. excel wind插件使用_这些超实用的Excel插件,你要是都知道,确定老司机无疑了
  14. 安装visio2019Pro提示报错“0xC004F017“具体解决办法
  15. 2019最新盘点:适合中小型企业的财务系统软件
  16. 个人免签支付系统源码插件资源汇总
  17. 中文的括号和英文的括号区别_工具推荐 含笔顺及英文的汉字书写练习纸
  18. 1005:地球人口承载力估计(c++)
  19. UE4中修改模型的中心点
  20. 不用做实验也可以轻松找到癌症组织特异性基因

热门文章

  1. 【ZOJ - 3703】Happy Programming Contest(带优先级的01背包,贪心背包)
  2. 【面试题 - 最大值减去最小值小于或等于 num 的子数组数量】滑动窗口
  3. 机器学习笔记(4):多变量线性回归
  4. android 按钮按下缩放,android捏缩放
  5. cross_compile = arm-linux-,cross compile grpc for arm
  6. java see 方法_Java 反射常用方法
  7. mysql atlas更新问题_Atlas几种常见故障解决(不定期更新)
  8. linux下tomcat6.0与jdk安装详细步骤
  9. 命令行 蓝牙_Ubuntu使用BlueZ驱动蓝牙dongle
  10. C++(STL):07---vector之使用方式和常规用法