Watir Webdriver不仅仅是Watir的升级,实际上它是对Selenium WebDriver的API进行的二次封装。从而使得其API能够更好的符合Ruby语言的规范,和更加简单明确的方法应用。
可以这么说,如果使用Ruby进行WebDriver开发,Watir WebDriver更加好用,更加简洁,更加利于新手的学习。
我们看一下Watir Webdriver和Selenium Webdriver的一个简单例子,从而更好的理解封装后的简便化:
Selenium WebDriver
require 'rubygems'
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
driver.get "http://google.com"
element = driver.find_element :name => "q"
element.send_keys "Cheese!"
element.submit
Watir WebDriver
require 'rubygems'
require 'watir-webdriver'
driver = Watir::Browser.new:firefox
driver.goto "http://google.com"
element = driver.element(:name => "q")
element.send_keys "Cheese!"
element.submit
从上面的语法可知,我们能从Watir Driver中明确的知道,我们要创建一个Browser的实例,指定browser的type。比selenium的构造方法更加明了。
我们转向到想去的页面,goto比get更加容易理解。
我们根据element的name在页面上查找,可以随时改变属性为:id,:value等等,更加便于我们二次封装。
其他的基本上类似。所以说,在功能一致的情况下,一个更加便于阅读和理解的代码,对于初学者来说 更加容易去掌握,这更加符合ruby语言当初的初衷:让学习开发语言不再痛苦。