Katalon Studio VS 那些以 Selenium 為基礎(chǔ)的開源框架們

各位奮斗和即將奮斗在軟件測(cè)試的筒子們,給你們找了個(gè)好東西 :)

本文為 Katalon 官方博客的文章,我自己進(jìn)行的翻譯,原文鏈接:?https://www.katalon.com/resources-center/blog/katalon-studio-vs-selenium-based-open-source-frameworks/

如果對(duì)它感興趣,請(qǐng)留言,我會(huì)繼續(xù)為大家?guī)砀嗟母韶?/p>


Katalon Studio 是一個(gè)采用了 Selenium 為核心引擎的自動(dòng)化測(cè)試解決方案。盡管它運(yùn)用了一些 Selenium 的功能, 但是它不僅僅只是簡單的將 Selenium 進(jìn)行包裝。 這篇文章將具體的對(duì) Katalon 和 以 Selenium 為基礎(chǔ)的開源框架進(jìn)行比較,分別對(duì)目標(biāo)用戶,部署,測(cè)試管理及腳本語言的支持,性能,可用性和與其他工具的整合等方面進(jìn)行詳述。

1. 目標(biāo)用戶

? 軟件自動(dòng)化測(cè)試經(jīng)常需要編程技術(shù)和待測(cè)產(chǎn)品的一些相關(guān)知識(shí)。待測(cè)產(chǎn)品的相關(guān)技術(shù)不是必須的,但是推薦掌握。比如說,如果你是測(cè)試網(wǎng)頁的,那么知道一些 HTML 和 JavaScript 的知識(shí)總是好的。

? Katalon Studio 的使用者可以是并沒有掌握太多專業(yè)技術(shù)的測(cè)試人員。Katalon Studio 把復(fù)雜的技術(shù)隱藏起來,并且提供了可以手動(dòng)操作的用戶友好的界面(用戶可以手動(dòng)對(duì)測(cè)試步驟手動(dòng)拖拽,選擇關(guān)鍵詞和測(cè)試對(duì)象),同時(shí),Katalon Studio 也為懂得技術(shù),可以深入研究代碼(通過腳本模式)的使用者們保留了必要的武器,比如關(guān)鍵詞高亮,代碼提示和調(diào)試。

? 對(duì)于擁有很好的編程能力的測(cè)試者這來說,Selenium 和 Appium 是更適合他們的主要的自動(dòng)化測(cè)試庫。這些庫(當(dāng)然以及他們自己所需要的支持文件)通常需要 IDE,比如 Eclipse 或者 Visual Studio, 來引如一個(gè)開發(fā)工程,測(cè)試者還需要安裝必要的測(cè)試框架,比如 JUnit, Nunit, 和 TestNG 來完成一個(gè)測(cè)試用例。

? 讓我們類比一下,這就像在自動(dòng)化工廠里面,很多車都用的同一款引擎,而工人們根據(jù)車的不同模型來設(shè)計(jì)車的外形和內(nèi)造。

? 類似的,Katalon Studio 基本上來說是一個(gè)一體化解決方案。如果你還是(而且有能力)從頭做起,你可以選擇使用一個(gè)“引擎”,比如 Selenium, Appium 等等, 來搭建一個(gè)類似于 Katalon Studio 的解決方案。除了 Katalon Studio, 還有一些其他的測(cè)試框架也是基于 Selenium 和 Appium 的,比如 Robot Framework (http://robotframework.org

2. 部署 & 開始第一步

? 大部分開源項(xiàng)目比較難以創(chuàng)建和部署,因?yàn)樗麄兪怯刹煌拈_發(fā)人員開發(fā)并向一個(gè)中心提交的,比如 Github。你也學(xué)需要用提交的源代碼來搭建所有的東西。但是即使像 Selenium 和 Appium 這樣已經(jīng)打包成即用型的框架,你仍然要閱讀他們?yōu)?API 提供的技術(shù)文檔,把他們整合進(jìn)一個(gè) IDE,使用他們推薦的編程語言。下面分別是 Selenium, Appium 和 Katalon Studio 創(chuàng)建和運(yùn)行所需要步驟的概括:

Selenium:

? 下載和安裝 Java SDK

? 下載和安裝測(cè)試庫: 對(duì)應(yīng)你偏好語言的 Selenium client API, Selenium Server,或者一個(gè)獨(dú)立包(將 client 和 server 捆包在一起的一個(gè)庫)

? 下載 IEDriver 和 ChromeDriver,創(chuàng)建環(huán)境和 Path 路徑

? 下載和創(chuàng)建開發(fā) IDE 和你喜歡的測(cè)試框架,比如 JUnit, NUnit, 和 TestNG

? 閱讀 Selenium API 文檔來開始創(chuàng)建一個(gè)項(xiàng)目,并開始寫些代碼

Appium:

? 下載和安裝對(duì)應(yīng)你的編程語言的 SDK, 例如 Java, Python, Ruby 和 C#

? 下載和安裝測(cè)試庫(Appium, Nodejs, Android SDK,如果是Mac和IOS的話XCode),創(chuàng)建環(huán)境和 Path 路徑

? 下載和創(chuàng)建開發(fā) IDE 和你喜歡的測(cè)試框架,比如 JUnit, NUnit, 和 TestNG

? 閱讀 Selenium API 文檔來開始創(chuàng)建一個(gè)項(xiàng)目,并開始寫些代碼

Katalon Studio 是一個(gè)統(tǒng)一的組合, 它包含幾乎所有必要的東西,比如 Java,Android SDK, 用以驅(qū)動(dòng)網(wǎng)頁的 Web drivers,和必要的支持文件。你所要做的僅僅是將它下載和安裝到你的電腦上。將安裝步驟簡化到最小

介于 Appium 頻繁的更新, Katalon Studio 沒有捆綁 Appium, 如果你在測(cè)試 mobile app, 你需要安裝 Appium, Nodejs(在 windows 上)和 XCode (在 Mac 上)

你會(huì)對(duì) Katalon Stuodio 迅速的上手,因?yàn)樗兄押玫慕缑婧鸵恍┌咐こ獭.?dāng)然,用戶手冊(cè)(docs.katalon.com)可以幫你迅速的把簡單到復(fù)雜的功能都走一遍

3. 測(cè)試管理和腳本語言支持

測(cè)試工具支持:

Katalon Studio 提供豐富的圖形界面,比如菜單,樹形視圖, 表格等等,來管理測(cè)試用例,對(duì)象和數(shù)據(jù)文件。它的一些組件,比如 語法高亮,代碼建議, 調(diào)試等非常理想的為不太懂代碼,或者希望只進(jìn)行拖拽操作的測(cè)試者提供幫助

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Katalon Studio 手動(dòng)模式)


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Katalon Studio 腳本模式)


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(Katalon Studio debug 模式)

Selenium 和 Appium,在和某個(gè)特定開發(fā) IDE,比如 Eclipse 和 Visual Studio 進(jìn)行整合的時(shí)候,對(duì)于開發(fā)人員來說提供了直觀的環(huán)境,但是對(duì)于手動(dòng)測(cè)試或者不懂技術(shù)的測(cè)試者來說太過陌生和不必要的復(fù)雜。對(duì)他們來說用 Selenium 和 Appium 管理測(cè)試是一種挑戰(zhàn)。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(Selenium + TestNG + Eclipse 只有開發(fā)模式)


? ? ? ? ? ? ? ? (測(cè)試用例,測(cè)試組件,測(cè)試數(shù)據(jù)主要由 XML 文件和編程語言代碼維護(hù))

腳本語言支持:

Katalon Studio: Java/Groovy 是目前僅有的選項(xiàng)

Selenium, Appium + 一個(gè) IDE: 可以選擇多種語言

4. 性能

Katalon Studio 使用 Groovy, 一種建立在 Java 之上的語言,然后需要再如很多庫來解析測(cè)試數(shù)據(jù),測(cè)試對(duì)象,日志。所以,如果有幾百步的測(cè)試不走的長時(shí)間測(cè)試上它會(huì)比 Java 稍微慢一點(diǎn)

5. 可用性和功能性

5.1 對(duì)象偵測(cè):

檢測(cè)對(duì)象是最重要,但是也是自動(dòng)化測(cè)試?yán)锩孀钤挄r(shí)間的。

Katalon Studio 支持網(wǎng)頁對(duì)象檢測(cè)(使用 IE, Firefox, Chome 的網(wǎng)頁插件)和移動(dòng) app ( 使用 screen simulator )。Katalon Studio 也支持對(duì)待測(cè)網(wǎng)頁中抓取的對(duì)象進(jìn)行高亮:


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Katalon 對(duì)象偵測(cè) -- 支持高亮對(duì)象)

Selenium 有一個(gè) Firefox 插件,名字叫 Selenium IDE, 來支持網(wǎng)頁應(yīng)用對(duì)象的錄制。不幸的是,這個(gè)插件沒有再被維護(hù)和支持了。

Appium 提供了在移動(dòng)端的競(jìng)品,在偵測(cè)移動(dòng)端對(duì)象上非常好用,但是它沒有高亮的功能。



5.2 測(cè)試數(shù)據(jù)管理和數(shù)據(jù)驅(qū)動(dòng)

Katalon Studio 提供 Data File 對(duì)象,它能從外部資源獲得數(shù)據(jù): CSV 文件,Excel 文件, Relational DB。 Katalon Studio 同樣支持根據(jù)一個(gè)數(shù)據(jù)文件來進(jìn)行的?數(shù)據(jù)驅(qū)動(dòng)測(cè)試。舉個(gè)例子,當(dāng)測(cè)試登錄功能的時(shí)候,你制定一個(gè)由 100 個(gè)預(yù)定義的賬號(hào)組成的 Excel 表格或者數(shù)據(jù)庫

5.3 錄制和測(cè)試生成

錄制測(cè)試是幫助使用者學(xué)習(xí)和適應(yīng)自動(dòng)化測(cè)試最好的步驟。它幫助一個(gè)自動(dòng)化測(cè)試人員做兩件主要的事情:獲取對(duì)象(在測(cè)試中)和用適當(dāng)?shù)膭?dòng)作或者關(guān)鍵詞產(chǎn)生測(cè)試步驟,這樣可以省下 50% - 60% 的編寫測(cè)試用例的時(shí)間

Katalon Studio 可以在移動(dòng)端和網(wǎng)頁端錄制和產(chǎn)生測(cè)試腳本


類似于 Katalon Studio, Appium 支持為移動(dòng) app 錄制和產(chǎn)生腳本

Selenium 有 Selenium IDE (現(xiàn)在不再更新和維護(hù)了),來記錄用戶的動(dòng)作和產(chǎn)生 Junit/TestNG 測(cè)試用例,但是對(duì)象的定位信息很難被直接寫進(jìn)生成的代碼里,如沒有對(duì)象管理來支持的話:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (用 Selenium IDE 來錄制測(cè)試)


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (用 Selenium IDE 生成的測(cè)試用例)

5.4 內(nèi)置關(guān)鍵詞

Katalon Studio 預(yù)置了多組常用關(guān)鍵詞和動(dòng)作,足以讓用戶編寫大部分測(cè)試用例。如果他們有更高級(jí)的或者更具體的要求,他們?nèi)匀豢梢詾轫?xiàng)目自定義關(guān)鍵詞。自定義的關(guān)鍵詞是內(nèi)置關(guān)鍵詞的擴(kuò)展,他們可以和內(nèi)置關(guān)鍵詞一樣使用,還可以分享給不同的用戶

6. 報(bào)告和分析

Katalon Studio 提供直觀的,更加友好的報(bào)告,可讀性高的消息和測(cè)試失敗時(shí)捕捉的截屏,這些都可以輸出成 CSV, HTML 和 PDF 文件

Katalon Analytics 將測(cè)試結(jié)果用一種可互動(dòng)的,更流行的方式來可視化,它可以是團(tuán)隊(duì)迅速分析問題,對(duì)他們自動(dòng)化測(cè)試有更好的理解


? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(包含可視化執(zhí)行結(jié)果的 Katalon Analytics 儀表板)

Selenium 和 Appium 本身沒有報(bào)告工具,但是基于某些測(cè)試框架,會(huì)有一些簡單的報(bào)告模板。Katalon 所能提供的復(fù)雜的報(bào)告和分析結(jié)果恐怕是 Selenium 和 Appium 最想提供的吧

? ? ? ? ? ? ? ? ? ? ? ? ? (包含 stack-trace 的 TestNG 報(bào)告, 沒有測(cè)試失敗的截屏)

7. 集成

Katalon Studio 可以和多個(gè)測(cè)試管理系統(tǒng)和 bug 追蹤系統(tǒng)集成,包括 qTest (https://www.qasymphony.com) 和 Jira 來提交 bug, defects,測(cè)試日志和測(cè)試結(jié)果。 Katalon Studio 也可以和 Kobiton 集成, Kobiton 是一個(gè)云端的移動(dòng)研究平臺(tái),在上面可以進(jìn)行 云端移動(dòng)測(cè)試 (https://kobiton.com

8. CI 集成

Katalon Studio 提供了一個(gè)命令行的借口,允許 CI 系統(tǒng)呼叫和啟動(dòng)測(cè)試的執(zhí)行

Selenium 和 Appium:用戶必須創(chuàng)建和配置執(zhí)行任務(wù) (Ant Tasks, maven goals 等等)來啟動(dòng)測(cè)試的執(zhí)行

9. 客戶支持

Katalon 團(tuán)隊(duì)比 Selenium 和 Appium 更加致力于積極的支持 Katalon Studio 的用戶們,通過它的網(wǎng)站和論壇

Selenium 和 Appium 是開源的,用戶也許可以在別人那里,或者 Selenium 組織那里找到一些答案,但是速度得不到保證。

10. Bug 修復(fù),發(fā)布日程

Selenium 和 Appium 組沒有一個(gè)清晰的發(fā)布計(jì)劃,而且 bug 通常不會(huì)被迅速修復(fù)。

Katalon Studio 每個(gè)月發(fā)布版本更新(更小的補(bǔ)丁版本經(jīng)常在幾天到一周內(nèi)更新),而且 bug 通常在幾天內(nèi)被修復(fù),用戶的反饋時(shí)我們高度重視和迅速反應(yīng)的

11. 幾個(gè)其他自動(dòng)化測(cè)試問題的解決辦法

Selenium 只能在瀏覽器內(nèi)測(cè)試 HTML 的內(nèi)容。特殊的和自定義的控制,比如彈窗和內(nèi)嵌對(duì)象(Flash, Flex, Media)將會(huì)讓 Selenium 手足無措

Katalon Studio,卻可以處理這些窗口控制,還能認(rèn)識(shí)圖片

Katalon Studio 允許從已經(jīng)開始的 session 的任意一步開始測(cè)試,這對(duì)于故障排除測(cè)試來說非常重要

Katalon Studio 重載了 Firefox driver, 以使新的 Firefox 版本(47+)可以兼容舊版本的 driver。對(duì)于 Selenium 社區(qū)來說,他們還在與不穩(wěn)定的 Gecko driver 苦苦掙扎



本文遵守知識(shí)共享協(xié)議:署名-非商業(yè)性使用-相同方式共享 (BY-NC-SA)簡書協(xié)議

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評(píng)論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,740評(píng)論 3 420
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,856評(píng)論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評(píng)論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,931評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,321評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評(píng)論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,533評(píng)論 0 289
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,082評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,891評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,067評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,319評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評(píng)論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評(píng)論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,794評(píng)論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,076評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容

  • Selenium入門 歡迎閱讀Selenium入門講義,本講義將會(huì)重點(diǎn)介紹Selenium的入門知識(shí)以及Selen...
    厲鉚兄閱讀 11,929評(píng)論 3 68
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,672評(píng)論 25 708
  • refer 朝天椒的夏天 一.selenium入門概念篇 最近開始接觸selenium,剛開始時(shí)僅僅是知道它是一個(gè)...
    mcdullsnow閱讀 1,341評(píng)論 0 9
  • 這次的雪下的的確認(rèn)真 一夜大雪紛飛 多年以后 天剛亮就喊我起來掃雪也是美好的回憶
    像掉進(jìn)海里上不了岸閱讀 412評(píng)論 4 6
  • 歷史多有風(fēng)水之說,從《周易》,《奇門遁甲》,《尋龍秘書》等等,我們可以看到許多,從古至今的風(fēng)水學(xué)說,而現(xiàn)如今,風(fēng)水...
    楚煊閱讀 204評(píng)論 0 0