各位奮斗和即將奮斗在軟件測(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 的功能, 但是它不僅僅只是簡(jiǎn)單的將 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众雷,和必要的支持文件灸拍。你所要做的僅僅是將它下載和安裝到你的電腦上。將安裝步驟簡(jiǎn)化到最小
介于 Appium 頻繁的更新砾省, Katalon Studio 沒有捆綁 Appium, 如果你在測(cè)試 mobile app, 你需要安裝 Appium, Nodejs(在 windows 上)和 XCode (在 Mac 上)
你會(huì)對(duì) Katalon Stuodio 迅速的上手鸡岗,因?yàn)樗兄押玫慕缑婧鸵恍┌咐こ獭.?dāng)然编兄,用戶手冊(cè)(docs.katalon.com)可以幫你迅速的把簡(jiǎn)單到復(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è)試不走的長(zhǎng)時(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ì)有一些簡(jiǎn)單的報(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)及簡(jiǎn)書協(xié)議