selenium的webdriver可以说是,自动化测试中别具一格的东西,在开源的自动化测试工具中可谓的独霸一方啊,有的时候很佩服发明这个东西的那三个家伙,真实奇思妙想,而且还聪明异常。不过于此同时,ruby中的watir也是风头很盛,ruby语言的优美,加上watir对自动化测试的实现,也可以说相当不错。之后出现的watir-webdriver就是讲watir的语法引进,使用webdriver来实现自动化测试,两个强强联合应该说在开源自动化测试工具中,是一个闪耀的新星。
?
watir-webdriver可支持Firefox Chrome IE,safari目前还不支持。
?
安装方法也非常简单,安装好ruby,之后用gem安装,如下命令
?
?
- gem install watir-webdriver?
- gem?install?watir-webdriver??
记住是目前的watir-webdriver只支持ruby1.9.2,所以装较为新的ruby吧。
?
下面随便找个ruby的IDE工具,可以写自动化测试脚本了,当然性子急的家伙们,使用IRB吧,这个是ruby自带的shell,挺好用。
来试试下面的代码吧。
?
?
- require?'watir-webdriver'?
- b = Watir::Browser.new?
- b.goto("http://www.baidu.com")?
- b.text_field(:id=>"kw").set("watir-webdriver")?
- b.button(:id=>"su").click?
- p b?
- require?'watir-webdriver'??
- b?=?Watir::Browser.new??
- b.goto("http://www.baidu.com")??
- b.text_field(:id=>"kw").set("watir-webdriver")??
- b.button(:id=>"su").click??
- p?b??
打开了百度,查询了关键字,运行正常的,你已经买入watir-webdriver了。
?
如果有问题可以检查一下:
是否安装的是ruby 1.9.2
是否运行了require 'watir-webdriver'并返回true
是否安装了watir-webdriver(gem list 会列出所有安装的包)
查看一下代码是否有误
?
?
最后简单聊聊一些所谓的理念,也是关于watir-webdriver,你慢慢会发现watir-webdriver中不需要xpath来定位元素,虽然webdriver中有很好的支持,不过xpath写出来的东西,真的很难看,你完全不需要他,除非你想让你的代码自己看不懂,别人也不明白。
另外,开始学自动化测试的人都喜欢用QTP,对很喜欢录制,其实真的很傻,录制出来的脚本,正确率真的很低,去看懂录制的脚本,修改好脚本,比你自己认认真真手写出来还要麻烦,用好irb和API这两个东西,足以应付大多数的情况了,不要去录制了,相当不靠谱。