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