2020 可替代Selenium的測試框架Top15
- 2020 年 4 月 2 日
- 筆記
業界有一些強大的工具可以替代Selenium,今天就來大概介紹一下。以下清單是精挑細選的Selenium替代框架:
1、TestCraft

TestCraft
TestCraft是一個無代碼的Selenium測試自動化平台。革命性的AI技術和獨特的可視化建模可以更快地創建和執行測試,同時消除測試維護開銷。測試人員無需編碼即可創建全自動測試場景。 客戶可以更快地發現bug,更頻繁地發佈bug fix,與CI/CD集成,提高數字產品的整體質量。
主要特點:
- 無需編程技能。利用手動測試人員的業務知識,並允許他們創建自動化測試場景。
- 大大降低維護成本。由於使用AI機制,腳本會自動進行調整以進行更改。只需單擊幾下,即可進行主要更改。
- 基於Selenium,快速集成和利用社區開發的模塊
- 提供即時的時間價值。無需安裝(SaaS)。很容易掌握
2、mabl

mabl
mabl提供無腳本的端到端測試自動化,與交付管道集成,因此您可以專註於改進你的應用程序。
主要特點: 使用專有的機器學習模型,mabl可以快速自動識別和處理應用程序問題,因此您可以:
- 快速修復bug–健壯的測試輸出可以幫助您快速診斷和修復bug,以免它們影響客戶。
- 交付更多代碼–用戶界面更改時,測試會自動修復,因此你可以花更少的時間維護測試。
- 保持質量–通過對每個構建進行自動回歸分析來防止不良發佈。
3、HeadSpin
HeadSpin是世界上第一個互聯智能平台TM,提供Web,移動,IoT和5G解決方案,在應用程序、設備和網絡之間統一測試、監控和分析。HeadSpin授權開發、QA、運營和產品團隊優化互聯體驗,確保數字業務的成功。

主要特點:
- 通過共享設備雲訪問30多個國家的300多台設備:
- 遠程調試
- 支持真機SIM的Android和iOS設備
- 500 +並發測試
- 回歸測試
- 自動化
- 本地化測試
- 本地調試和代碼分析
4、Squish
Squish是全球3000多家公司的GUI測試自動化工具的首選,可以自動化其圖形用戶界面(GUI)和人機界面(HMI)的功能回歸測試和系統測試。Squish GUI測試工具是一個100%跨平台的工具。

主要特點:
- 對所有主要GUI技術的深入支持
- 完全支持所有桌面、移動、web和嵌入式平台
- 測試腳本錄製
- 強大可靠的對象識別和驗證(基於對象和基於圖像)
- 不依賴於屏幕截圖或視覺外觀
- 強大的集成開發環境(IDE)
- 多種流行的腳本語言可用於測試腳本
- 全面支持行為驅動開發(BDD)
- 通過命令行工具完全控制
- 與測試管理和CI系統集成
5、TestCafe Studio
TestCafe Studio是一個跨平台、端到端的web測試平台。TestCafe Studio允許您使用zero代碼創建、運行和維護自動化的web測試。

主要特點:
- 內置的視覺測試記錄儀–無需代碼。
- 跨平台和跨瀏覽器——在Windows、macOS、Linux、iOS、Android以及Chrome、Firefox、Safari、Edge和IE中運行測試。
- 不需要額外的工具——不需要WebDriver,瀏覽器插件或其他測試軟件。
- 自動生成的元素選擇器——TestCafe Studio為測試中使用的每個頁面元素生成一個選擇器,並提供涵蓋各種測試場景的其他選擇器列表。
- 內嵌等待機制
6、Ranorex
使用Ranorex Webtestit,這是為使用Java或TypeScript進行Web測試自動化而設計的輕量級IDE,為Selenium提供了開箱即用的Web測試自動化。跳過耗時的設置,並通過優化的工作流程和最佳實踐來減少維護工作。

主要特點:
- 快速而簡單的設置:搭建你的整個測試框架
- 自動應用最佳實踐,如頁面對象模式
- 使用Chrome DevTools的Ranorex Selocity擴展立即生成UI元素選擇器和屏幕截圖
- 創建高效的Selenium兼容代碼
- 將跨瀏覽器測試分發到本地WebDriver端點,Selenium Grid或基於雲的提供程序
- 與Jira、VSTS、Jenkins和TestRail等工具集成
7、Parasoft Selenic
Parasoft Selenic利用AI解決了Selenium方面的問題,因此您不必擺脫Selenium。它可以直接與你現有的Selenium測試一起使用,因此您不會被限制在一個專用平台上。

主要特點:
- 運行時自我修復,運行後執行AI驅動的建議。你可以有效地維護現有的Selenium腳本,從減少維護,減少修復bug而減少測試時所花費的時間。
- 使用頁面對象模型創建Selenium測試套件。團隊可以從一開始就迅速建立可維護的測試實踐。
- 使用「測試影響分析」優化測試執行。與底層代碼更改相關的測試執行可以從CI/CD管道獲得更快的反饋。
8、Subject7
Subject7是一個自動化平台,可通過一系列命令提供端到端測試自動化功能。這些命令可以通過一個易於使用的web界面獲得。模仿用戶操作,每個命令都隱藏了諸如Selenium,Appium,SikuliX,JMeter,ZAP等行業標準軟件包的複雜性。

主要特點:
- 易於使用的非編碼器Web界面
- 與JIRA,Jenkins和REST支持的DevOps管道集成
- 利用AWS,Azure和Google雲進行零設置並擴展執行範圍
- 電子郵件通知,視頻記錄,團隊協作等
- 使用Selenium和Appium等開源標準來驅動Web端和移動端(Mobile)
9、 Cypress
Cypress是針對Web環境的開源測試自動化解決方案。與Selenium相比,該工具與當前的開發實踐緊密結合。

主要特點:
- 測試狀態菜單功能 –> 可查看通過或失敗的測試數量
- Cypress會自動等待命令和斷言再繼續
- 允許檢查響應網站與視窗大小。
- 它拍攝測試運行的快照。對於無頭瀏覽器執行,它會用視頻記錄整個測試運行的過程。
- Cypress會自動重新加載測試中所做的所有更改
- 命令日誌和應用程序預覽顯示了在測試執行過程中Web應用程序上精確的自動化操作。
10、iMacros
iMacros是用於Web測試的記錄和回放工具。iMacros還可以使重複的工作自動化。該測試工具用於
- 瀏覽器自動化
- Web 測試
- 數據提取

主要特點:
- Internet Explorer、Firefox和Chrome的免費附加組件。可以自動化幾乎所有的網絡任務。
- 允許對web應用程序進行功能、性能和回歸測試
- iMacros允許將數據從電子表格上傳到網站,或直接在網站中填充Excel表格。
- 對網站技術(包括Java,Flex,Ajax或Silverlight小程序)進行功能,性能和回歸測試的自動化。
11、Cucumber
Cucumber是一個開源的BDD(行為驅動開發)測試工具。

主要特點:
- 由於使用了BDD,業務和IT團隊可以深入理解測試。
- Cucumber將規範和測試文檔合併成一個緊密的整體
- 不斷更新,並有大量的社區支持。
12、UFT (Unified Functional Test)
UFT也被稱為QTP(快速測試專家),是最強大的商業測試自動化工具。最初由Mercury Interactive開發,後來被HPE收購,現在由MicroFocus擁有。它對於功能測試和回歸測試很有用。

主要特點:
- UFT不僅支持web,還支持各種開發環境,如SAP、Oracle、Seibel等。
- 該工具支持跨瀏覽器和多平台測試,
- 允許跨多台機器分佈測試。
- 基於圖像的目標識別是業界最好的。
- 視覺測試腳本設計,有助於更快的測試修改和升級。
- QTP/UFT使用VBScript語言,與其他測試腳本語言相比,VBScript語言易於使用。
13、Serenity
Serenity BDD是自動化驗收和回歸測試的selenium替代品。此工具生成記錄和描述功能測試覆蓋率的測試報告。

主要特點:
- 每個測試步驟的注釋/敘述和屏幕截圖。
- 通過需求或發佈匯總來聚合測試結果。
- 幫助你編寫更乾淨、更容易維護的自動化代碼。
- 將你的自動化測試映射回你的需求
- 提供了測試覆蓋率。
14、IBM Ration Functional Tester
IBM Rational Functional Tester是一個功能和回歸自動化測試工具。該軟件為功能,回歸,GUI和數據驅動的測試提供了自動測試功能。它支持Java,Siebel,SAP,Net,PowerBuilder,Ajax等一系列應用程序。

主要特點:
- 通過屏幕截圖進行可視化編輯
- Rational Functional Tester使您的開發團隊能夠創建相關的關鍵字腳本,這些腳本可以方便地重用,從而提高效率。
- 使用Eclipse,可以更輕鬆地用Java編寫測試腳本代碼。
- 此功能測試工具可自動完成代碼,並提供高級調試選項
- 易於與其他第三方軟件集成
15、Galen framework

Galen框架最初是為了在真實的瀏覽器中測試web應用程序的布局而引入的。今天,它已經成為一個功能齊全的測試框架。這個自動化測試工具可以與Selenium集成,用於web應用程序的可視化和布局測試。
主要特點:
- 基於HTML的錯誤報告與截圖
- 易於編寫/讀取的語法
- 它提供了多種瀏覽器支持
- 使用Galen specs語言,你可以描述任何複雜的布局,包括不同的屏幕大小或瀏覽器。
- Galen Framework在Selenium Grid中運行良好。這允許設置測試以在類似雲的Sauce Labs或BrowserStack中運行。
- 圖像對比功能。
16、SikuliX
SikuliX可自動執行Windows,Mac或Linux / Unix操作系統中屏幕上顯示的所有內容。它使用OpenCV提供的圖像識別功能來識別和控制GUI組件。SikuliX工作流程基於搜索圖像並使用鼠標和鍵盤作用於GUI元素。

主要特點:
- SikuliX可用於自動執行重複性任務。
- 它可以用於自動化日常使用的任務或Desktop/Web應用程序。
- 測試正在開發的應用程序或Web。
17、Redwood

RedwoodHQ是一個開源測試自動化框架。它安裝在單個服務器上,可以從Web界面使用多個人。它可以與任何兼容HTML5的瀏覽器一起運行,而無需進行任何安裝。
主要特點:
- 它允許實時觀察測試執行情況以及詳細結果,可單擊的堆棧跟蹤異常和屏幕截圖。
- 它允許在多台機器上並行執行自動化測試用例。
- 導入現有的TestNG / JUnit測試用例並開發新的用例。
- 與Jenkins或TeamCity之類的工具兼容,以與持續集成過程集成
18、Watir

Watir是用於自動化測試的開源Ruby庫。它支持功能和回歸Web測試。 主要特點:
- 它支持web應用程序,不管它是在什麼地方開發的。
- 它支持不同平台上的多個瀏覽器。
- Watir是一個Ruby庫家族,但它支持所有其他技術。
- 它使用Ruby(一種功能齊全的現代腳本語言)而非專有的商業腳本。
19、Telerik Test Studio
Test Studio是由Progress開發的軟件自動化工具。它支持自動化的應用程序,例如AJAX,HTML5,JavaScript,Silverlight,WPF,MVC,iOS,Android,PHP。它具有本機跨瀏覽器支持,並且是一種記錄和回放工具。

主要特點:
- 可以執行API以及負載測試嗎。
- 強大的對象存儲庫功能。
- 支持持續集成。
- 對Telerik UI控件的本機支持。
- 測試HTML彈出窗口和瀏覽器對話框。
20、Screenster

Screenster是基於雲的UI測試平台。它用於Web應用程序和網站的視覺回歸測試。它捕獲每個步驟的屏幕快照並將其存儲為基線。
主要特點:
- 低代碼解決方案,使您無需手工編碼即可自動執行UI測試。
- 以最簡單和最快的方式記錄測試,以自動化可視化測試。
- Screenster可以將測試作為CI的一部分運行。因此,如果在基線運行和回歸運行之間檢測到差異,則測試將標記為失敗。
- Screenster具有強大的功能,例如自動更正智能選擇器和自動超時管理。
21、Katalon Studio
Katalon Studio是一個自動化測試工具,可用於Web和移動應用程序測試;它是為支持不再能夠記錄和回放自動化測試的用戶而開發的。

主要特點:
- 提供用於組織關鍵字,測試用例和對象存儲庫的項目模板。
- 允許對Web、iOS、Android、iOS和OS系統進行API測試
- 易於與JIRA、Jenkins、GIT和qTest與本地插件集成
- 使用IDE構建高級腳本或使用表格界面自定義步驟
22、Tricentis Tosca

Tricentis Tosca是一個持續測試平台,可加速測試以與DevOps和Agile保持同步。通過提供基於模型的測試自動化的可維護性,它允許重用測試。它有助於將回歸測試時間減少到幾分鐘。 主要特點:
- 自動化API, SAP,網絡,機械人,移動等。
- 為敏捷和DevOps提供快速的反饋。
- 將回歸測試時間減少到分鐘。
- 清晰了解業務風險。
23、Cloud QA

CloudQA是支持SaaS的功能測試自動化工具,用於基於Selenium構建的Web應用程序。這種硒替代品包括三種不同的工具,即TruRT用於功能和回歸測試,TruLoad用於負載測試,TruMonitor用於綜合監控。 主要特點:
- 完全集成的QA自動化工具。
- 測試模塊是在一個具有通用架構的平台上開發的。
- 它提供了一個無代碼環境來設置健壯的自動化測試用例。
- 允許與其他ALM、bug跟蹤和版本控制工具集成。
總結: 綜上所述,幾乎所有的框架都想解決一個問題,那就是不需要技術,不需要寫代碼就直接測試,願景是非常好的,但是0代碼的QA不是一個好QA,語言還是要學會的,至少那麼一兩門語言要精通;在實際工作中,會寫代碼配合手頭的工作,那可太方便了,所以,小夥伴們在利用各種強大有力的自動化測試工具的同時不能忽略了代碼的學習。
比如,一個文件夾裏面有上百個文件,需要重命名,或者去掉某個前綴/後綴,手動一個個點擊,1秒一個文件,也得十幾二十分鐘。假如寫Python/Java代碼來處理的話,關鍵代碼不會超10行,你會嗎?
這裡有一個有意思的投票


