近通過各種渠道發(fā)現(xiàn)大家對一些測試工具的基本情況不太清楚,經(jīng)常會問類似于watir與watir webdriver的區(qū)別,我有1個項目,是用watir還是用selenium webdriver呢,之類的問題,在這里筆者不才略微總結一下,希望能給大家一個較為清晰的認識。

  Waitr與Watir-WebDriver有什么區(qū)別?

  Watir是非常的一款自動化測試工具。其使用ruby作為腳本語言進行開發(fā),能夠在ie上實現(xiàn)元素定位、操作等自動化任務;

  Watir WebDriver是Selenium WebDriver的一個封裝。簡單來說如果selenium webdriver是手機上的安卓系統(tǒng),那么watir webdriver是MIUI。watir webdirver是將selenium webdriver包裝了一下,使得selenium webdriver的api更加的友好。當然watir webdriver也不是毫無根據(jù)的對selenium webdriver進行封裝,watir webdriver使用了watir的api組織形式對selenium webdriver進行封裝,這樣watir的代碼跟watir webdriver的代碼看上去很”相似”了。這也是大家無法分辨watir與watir webdriver區(qū)別的原因。

  另外watir webdriver相比較watir有如下的一些優(yōu)點:

  watir webdriver支持多瀏覽器, 而watir只支持ie

  watir webdriver支持html5, 而在這方面watir不太明確

  watir webdriver對彈出框(js alert confirm)的處理更加友好

  watir webdriver支持移動設備,如iPhone和androrid

  QTP和watir的區(qū)別是什么?

  首先明顯的區(qū)別是:QTP是商業(yè)工具,其不是免費的;而watir是開源的測試工具,使用免費。

  QTP支持腳本的錄制,而watir不可以;

  QTP的腳本語言是vbscript,而watir使用ruby進行腳本的開發(fā);

  QTP上手很容易,一般測試人員哪怕不會腳本語言都可以通過QPT錄制回放腳本來進行用例的開發(fā);相對來說,watir則需要一定的代碼基礎;

  QTP對IE和Firefox都有支持,但是watir只支持IE(盡管firewaitr支持firefox,但是工具目前更新速度不快,可以忽略);

  QTP是有軟件界面的,而watir只是一個代碼庫;

  那么我應該選擇QTP還是watir?

  如果預算允許且自動化測試對瀏覽器的兼容性要求不高的話是可以選擇QTP的;

  如果預算有限,但是項目只要求支持IE的話建議選擇watir,學好watir測試人員日后的發(fā)展有一定的好處;

  如果預算有限,項目又要求支持多瀏覽器,那么推薦使用watir webdriver;

  我應該選擇watir webdriver還是selenium webdriver?

  從本質上說selenium webdriver 和 watir webdriver是沒有任何區(qū)別的,跟中國男足輸1個和輸10個是沒有任何分別一樣。

  從筆者的經(jīng)驗上來說,watir webdriver的api更加的豐富和友好,如果你可以使用ruby作為開發(fā)語言的話,強烈推薦watir webdriver。

  如果你的項目要求你使用java javascript之類的語言,那么你只能選擇selenium webdriver了。

  我是新手,這么多測試工具我該選擇哪一個作為入門的學習工具呢?

  如果你有決心有時間的話,那么推薦watir作為web測試的入門工具,原因是你可以通過watir學習到ruby,js,html,dom等一系列的知識;然后再轉watir webdriver 甚至是selenium webdriver,學習曲線是相對平滑的;

  如果你有決心但沒時間卻又急于求職的話,那么用熟QTP也是一個捷徑。

  selenium和webdriver的關系是什么?

  webdriver是selenium2的一部分;

  webdriver提供了多瀏覽器間統(tǒng)一的api,并將會持續(xù)更新,而selenium1將不再維護;

  selenium2等于webdriver加selenium1

  webdriver比selenium強在哪兒?

  wd的api比se更加的面向對象,更加友好;

  wd解決了se的軟肋同源問題;

  wd多瀏覽器間的行為更加一致;

  wd支持iphone和安卓;

  se1不再更新,而webdriver社區(qū)非;钴S。

  作為新人,我想學習腳本語言,我該從哪一門開始呢?

  如果你想做web方面的自動化而又想選擇一門腳本語言開始的話,筆者推薦javascript。因為js配合html能做出多種效果,能夠給讓新人很快的獲得成感。另外前端人員目前相對緊缺,學好js無疑能夠讓你的身價有一定的增加。

  如果你只是想學一門腳本語言,那么建議學習python,python的理念是做1件事件從來只有一種方法,盡管沒有選擇,但是至少也不會混亂和迷惑。另外python社區(qū)非常活躍,氛圍很好。

  如果你想學習watir和waitr webdriver,那么從ruby開始。ruby入門容易精通難,而且經(jīng)濟價值沒有py和js那么立竿見影。

  總是腳本語言殊途同歸,修行還是要看個人。