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