Watir Webdriver不僅僅是Watir的升級,實際上它是對Selenium WebDriver的API進行的二次封裝。從而使得其API能夠更好的符合Ruby語言的規(guī)范,和更加簡單明確的方法應用。
可以這么說,如果使用Ruby進行WebDriver開發(fā),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中明確的知道,我們要創(chuàng)建一個Browser的實例,指定browser的type。比selenium的構造方法更加明了。
我們轉向到想去的頁面,goto比get更加容易理解。
我們根據element的name在頁面上查找,可以隨時改變屬性為:id,:value等等,更加便于我們二次封裝。
其他的基本上類似。所以說,在功能一致的情況下,一個更加便于閱讀和理解的代碼,對于初學者來說 更加容易去掌握,這更加符合ruby語言當初的初衷:讓學習開發(fā)語言不再痛苦。