盤點十大最新Web UI測試工具
譯文【51CTO.com快譯】在過去的幾年中,業(yè)界至少出現(xiàn)了十二種全新的UI測試自動化工具。雖然每一種工具都有各自的側重點,但是它們普遍將出色的可用性和良好的用戶體驗放在了首位。在此,我將為您盤點目前十大最新Web UI測試工具的各自優(yōu)缺點,以方便您根據(jù)實際情況進行選擇。
1. Parasoft Selenic
目標用戶:針對那些在現(xiàn)有的Selenium上花費了大量時間維護測試腳本的用戶。
Parasoft Selenic通過添加由AI驅動的定位器(locators)和自我修復功能(self-healing),來增強現(xiàn)有的Selenium測試實踐。通過直接集成到用戶現(xiàn)有的CI/CD管道中,Selenic可以在運行時(runtime)分析Selenium的各項測試。如果檢測到諸如:由定位器或等待條件導致的故障,它將自動修復測試,并提供針對下一次運行此類測試的有關修復方法建議。在實際應用中,Selenic利用Chrome記錄器,來生成Selenium測試。該測試通過頁面對象模型(page object model),來實現(xiàn)極好的可維護性。
定價:提供項目和/或團隊的年度訂閱方式。
優(yōu)點:
- 智能記錄器(Smart recorder)能夠使用那些頁面對象模型,來輕松地創(chuàng)建Selenium測試。
- 建議在現(xiàn)有的Selenium測試中使用到智能定位器,并能夠在現(xiàn)有的Selenium測試中執(zhí)行自我修復。
- 通過利用現(xiàn)有或創(chuàng)建新的Selenium腳本,直接集成到CI/CD管道中。
- 提供測試影響分析(test impact analysis)技術,以自動判斷需要在CI/CD管道中執(zhí)行哪些Selenium測試,并且驗證代碼新的更改。
- 提供各個級別的客戶支持,而不僅限于企業(yè)用戶。
缺點:
- 沒有免費的正式版,只有免費的試用版。
- 由于相對較新,其當前的版本僅支持Java、JUnit 4和Eclipse。而對于Cucumber、JUnit 5、TestNG和IntelliJ的支持,已在其2020年的路線圖上。
關鍵要點:正如Gartner Peer Insights所言,通過擁有世界級的客戶和30多年軟件測試經(jīng)驗的Parasoft對其進行加持,Selenic能夠輕松地對現(xiàn)有的Selenium測試提供各種AI支持。
2. Katalon
目標用戶:針對同時會用到代碼和無代碼測試工具的用戶。
作為一種免費工具,各種系統(tǒng)集成商可以頻繁使用Katalon,來進行UI測試。作為Chrome瀏覽器的插件,其記錄器既能夠生成各種測試用例,又能夠在頁面對象模型中構建其Katalon IDE,因此該工具比較容易維護。用戶可以直接在其IDE中隨時開展測試,或者將其導出到許多不同類型的測試腳本之中。
定價: Katalon Studio的基本版是免費的。其付費插件可通過市場進行訂購。如果需要提供企業(yè)級的技術支持,用戶則需支付更多的費用。
優(yōu)點:
- 提供智能定位器的推薦。
- 提供僅用于在IDE中生成和管理測試的頁面對象模型。
- 通過付費插件提供自我修復功能。
- 能夠導出到許多不同類型的測試腳本中。
缺點:
- 盡管可以將測試導出為Selenium和其他類型的測試腳本,但是用戶無法導出頁面對象模型。而且一旦完成導出,Katalon則會變得不可用。這就意味著:測試會變得難以重用和維護。
- 對于客戶的支持僅停留在企業(yè)級別,并且非常昂貴。
- 必須使用專有的框架、以及CI集成插件,否則無法直接集成到現(xiàn)有的執(zhí)行框架中。
關鍵要點:無需任何技術知識,用戶可以直接使用Katalon。借助程序中的關鍵字,用戶可以快速創(chuàng)建各種測試用例。Katalon Studio雖然是免費可用的,但是用戶若要獲得更多創(chuàng)新性的技術優(yōu)勢,則必須升級或購買付費版的插件。
3. Selenium IDE
目標用戶:正在尋找以UI驅動的記錄和回放工具的用戶。
Selenium IDE是一個開源的項目。通過將Selenium的功能整合到Chrome的插件中,用戶可以開展各類測試。
定價:免費。
優(yōu)點:
- 用戶可以將任何已創(chuàng)建的測試導出到腳本中,通過其強大的功能,來創(chuàng)建相應的UI測試。
- 能夠針對其記錄的每個元素,提供多種定位策略。
- 具有僅限于Selenium腳本的自我修復功能,不過可靠性不高。
缺點:
- 不能完全適合用戶的CI/CD流程。
- 在查找bug或進行黑盒測試時,無法提供全面的信息,因此用戶需要通過導出代碼來進行深入分析。
- 在構建測試時,無法使用頁面對象模型。
- 雖然用戶可以用多種不同的語言來導出測試,但是卻無法導入。
- 雖然提供CI集成,但它無法被直接集成到用戶現(xiàn)有的框架中。
關鍵要點:用戶能夠輕松地通過Selenium IDE,來快速針對其Web UI創(chuàng)建測試。那些熟悉Selenium框架的用戶很容易上手并開展測試。
4. mabl
目標用戶:針對那些不愿意編寫測試或構建UI測試環(huán)境的用戶。
在UI測試方面,mabl有著獨到的辦法:它并不針對測試本身,而是采用了遍歷流程。用戶只需登錄到他們的網(wǎng)站上,定義一個遍歷目標應用的流程即可。可見,它雖然并未給用戶提供任何測試用例、以及真正需要解決的問題,但是,它允許用戶定期運行該流程,并產(chǎn)生相應的執(zhí)行結果。
定價:根據(jù)執(zhí)行遍歷流程的次數(shù)進行分層定價。
優(yōu)點:
- 提供智能定位器的推薦,不過用戶對此不甚了解。
- 具有良好的自我修復功能。
- 提供易于獲取和上手的SaaS解決方案。
- 具有靈活的定價模型。
缺點:
- 在記錄遍歷流程時,并未使用到頁面對象模型。
- 由于使用獨特的框架,因此無法導入和導出測試腳本。
- 對于現(xiàn)有的CI集成,用戶無法直接將解決方案集成到現(xiàn)有的框架中。
- 如果無法按照預期工作,則很難通過訪問“代碼”來進行配置或操作。
- 過于關注遍歷流程,而忽略了對于功能的驗證。
- 由于是一種SaaS解決方案,因此無法在本地進行部署,也無法訪問到并未聯(lián)網(wǎng)的應用。
關鍵要點:mabl可以通過復雜的自動修復功能,來幫助用戶提高發(fā)布流程的速度和質量。無論應用程序的UI被執(zhí)行了何種更改,該工具都能開展穩(wěn)定的自動化測試。雖說mabl是人們在后臺的指揮下去自動執(zhí)行測試,但是有些用戶會認為這是將自己的控制權交了出去。
5. TestIM
目標用戶:由于偏重于復雜工作流的執(zhí)行路徑,因此它更適合那些需要針對UI測試的開箱即用型方案的用戶。
TestIM是也一款SaaS應用程序。作為一個簡單易用的UI自動化測試方案,它可以幫助開發(fā)者弄清針對于某個簡單bug的修復,以及對應用其他部分所造成的何種影響。
定價:提供基于已測試數(shù)量的年度訂閱計劃。
優(yōu)點:
- 提供直觀的用戶界面,易于創(chuàng)建各種測試。
- 提供智能定位器的推薦,以及能夠維護它們的各種策略。
- 具有強大的自我修復能力。
缺點:
- 在測試中無法使用頁面對象模型。
- 缺乏導入/導出測試腳本的能力。
- 用戶無法訪問代碼、或將測試移出TestIM。
- 其測試腳本只能在TestIM框架中被使用。
關鍵要點:用戶能夠輕松地獲取TestIM技術,并快速創(chuàng)建可以正常使用的測試用例。當然,在提供良好的用戶體驗的同時,TestIM也具有強大的自我修復能力。TestIM的主要挑戰(zhàn)在于它無法訪問測試的核心。而且,由于所有的測試都必須在TestIM框架之中,因此有可能會“綁架”用戶當前以及未來的業(yè)務模型。
6. Functionize
目標用戶:針對需要通過UI測試,而進入行為驅動開發(fā)(BDD,Behavior Driven Development)的手動測試人員、或非技術測試人員。
通過在定位器策略等方面的改進,F(xiàn)unctionize提供了全面的Web UI測試工具,以方便用戶輕松地針對應用程序創(chuàng)建自動化測試平臺。當然,這些都必須在其專有框架中完成。
定價:尚無公開定價。
優(yōu)點:
- 提供出色的可視化顯示與測試流程。
- 提供多元素定位器的推薦。
- 具有自我修復能力。
缺點:
- 無法使用頁面對象模型。
- 框架較為封閉。
- 無法導入/導出測試腳本。
關鍵要點:Functionize的AI能夠幫助用戶消除測試中碰到的各種混亂狀況,進而提高測試人員的準確性和效率。在考慮如何將其引入現(xiàn)有流程時,用戶需要顧及其框架封閉性。
7. Perfecto
目標用戶:針對那些尋求一站式界面與移動測試的用戶。而且,由于不涉及到腳本,因此它最適合那些不想寫代碼的人。
一直專注于移動測試的Perfecto,有著不錯的UI測試生態(tài)系統(tǒng)。它可以被用來創(chuàng)建、維護、執(zhí)行云相關的應用,并產(chǎn)生報告。
價格:年費在99美元至3588美元之間。
優(yōu)點:
- 只能在其生成的測試中使用到頁面對象模型。
- 提供多個定位器,來記錄Web元素。
- 最近推出了自我修復功能,但其功能或性能尚不明確。
缺點:
- 其測試腳本采用了專有的基于TCL的語言。
- 用戶無法導入自己的Selenium腳本。
- 雖然提供與CI的集成,但它無法被直接集成到用戶現(xiàn)有的框架中。
關鍵要點:Perfecto提供了有關維護和編寫測試腳本,管理和驗證測試,以及調(diào)試各種缺陷的解決方案。其UI測試解決方案,為用戶提供了創(chuàng)建腳本和無腳本兩種選項。另外,Perfecto最近在維護和自我修復方面也有所提升。
8. TestCraft
目標用戶:針對那些不想編寫代碼、卻又想通過高級分析來驗證其測試效果的用戶。
TestCraft是一個無代碼的Selenium自動化測試平臺。它擁有相關的AI技術和獨特的可視化建模功能。在消除測試維護開銷的同時,它能夠快速地創(chuàng)建和執(zhí)行測試。
定價:尚無公開的定價信息。
優(yōu)點:
- 只能在其生成的測試中使用頁面對象模型。
- 提供“智能綁定”式定位器的推薦和自我修復。
- 其內(nèi)置的調(diào)度程序,可以讓用戶在設定的時候執(zhí)行測試流程。
缺點:
- 只能使用專有的框架。
- 無法導入/導出測試腳本。
- 雖然可以作為插件與CI相集成,但是無法集成到用戶現(xiàn)有的框架中。
關鍵要點:TestCraft是一款功能強大的SaaS應用程序。它能夠方便測試人員無需編寫代碼,即可創(chuàng)建全自動的測試場景。用戶在UI上記錄他們的測試用例,TestCraft將為每個測試流創(chuàng)建一個模型,并直觀地指示出測試所執(zhí)行的不同路徑。用戶在使用復雜的用例模型時,往往會使用到該工具。
9. Ranorex Webtestit
目標用戶:適合于那些熟悉代碼,卻又不想花費時間自行構建結構化Selenium腳本的人員。
作為一家以桌面自動化工具聞名的公司,Ranorex于2019年7月發(fā)布了全新產(chǎn)品--Webtestit。Ranorex采用了“設計優(yōu)先”的方法,而并非進行代碼級的記錄和回放。用戶可以通過界面的交互,以及在專有的IDE中進行輔助操作,來構建各種腳本。業(yè)界推測Webtestit將來很可能會取代Ranorex Studio。
定價:每月40美元。
優(yōu)點:
- 用戶可使用頁面對象模型,來創(chuàng)建測試。
- 其免費的Selocity Chrome插件,可用來實現(xiàn)定位器的推薦。用戶可以導入Selenium腳本。
- 可在IDE中創(chuàng)建不同的測試,以及各項輔助性操作。
缺點:
- 雖然記錄和回放功能不盡完善,但它是入門級測試的關鍵組件??上г摴ぞ卟o此功能。
- 提供專有的IDE,當然對于大多數(shù)開發(fā)人員來說,他們可能要放棄熟悉的Eclipse或IntelliJ等IDE。
- 由于用到了專有的執(zhí)行框架,因此用戶需要使用其插件,才能作為CI的一部分執(zhí)行下去。
- 作為測試創(chuàng)建類型的解決方案,它在運行時不具備分析或自我修復功能。
關鍵要點:雖然沒有記錄和回放功能,但是它可以鼓勵用戶從下至上,而非自上而下地進行構建。因此,該方案對于那些希望擁有輔助代碼創(chuàng)建工具的組織來說比較實用。通過與Selocity的Chrome插件組合,用戶可以使用頁面對象模型,來繪制出各種頁面對象,并將它們導入到Webtestit工具里。
10. AutonomIQ
目標用戶:針對那些同時會用到代碼和無代碼測試方案的用戶。
AutonomIQ具有AI、機器學習、以及自然語言處理(NLP)的能力。它針對UI測試自動化提出了三步走。首先,通過其AI來發(fā)現(xiàn)目標應用;然后,在發(fā)現(xiàn)過程中構建測試用例;最后,使用分析引擎來監(jiān)視和維護各種測試用例。
定價:尚無公開的定價信息。
優(yōu)點:
- 具有強大的NLP、AI和機器學習能力。
- 僅能在其生成的測試中使用到頁面對象模型。
- 通過其Chrome插件來實現(xiàn)智能定位器的推薦。
- 在執(zhí)行過程中具有自我修復能力。
缺點:
- 僅能使用專有的框架。
- 無法導入測試腳本。
- 雖然可以作為插件與CI相集成,但是無法集成到用戶現(xiàn)有的框架中。
關鍵要點:該工具看似全面且完美,但是筆者至今無法通過任何實際案例的研究或用例,來找到其對應的客戶。當然,從工具本身來看,它具有一定的顛覆性實用價值。
原文標題:The Top 10 New Web UI Testing Tools Everyone's Talking About,作者:Chris Colosimo
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】