各位奮斗和即將奮斗在軟件測(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é)議