2021-12-30 21:06:07|已瀏覽:204次
功能測試的自動化工具,除了之前介紹的 單元測試工具、接口測試工具 ,還有一大類工具——就是今天要介紹的基于UI的功能測試工具,它主要是通過操控UI元素(如菜單、按鈕、圖標、文本框、列表、對話框等)來驅動系統事件發生,并查看系統的表現(主要是UI表現,如屏幕驗證、新的GUI元素的顯示、UI元素大小和位置的改變、文字及其排列、可用性條件和數據完整性等)作為驗證點來完成。
基于UI的功能測試工具常常有錄制和回放功能,能夠錄制UI的操作過程,即捕獲到鍵盤&鼠標操作并記錄下來,然后在之后回歸測試中再通過回放之前錄制的過程來驗證原有功能是否正常。但人們更希望寫結構化的自動化腳本,再演化為關鍵字驅動腳本和數據驅動腳本,這樣有利于腳本的復用和維護。再繼續演化,不是簡單的“自動錄制操作過程”,而是依賴于基于模型的測試(MBT)和AI技術來構建測試模型生成測試腳本,或錄制操作過程生成操作路徑,這樣就形成一類新的UI測試工具——無代碼的功能測試工具,可以參考之前發表的文章:2020年軟件測試趨勢報道:無代碼化的測試自動化 。
基于UI的功能測試工具很多,由于篇幅所限,不能一一介紹,像大家特別熟悉的Appium、AutoIT、Selenium/Watir、TestComplete 等工具就不介紹了,有些工具在接口測試、嵌入式軟件工具中介紹過的,這里也不重復介紹,如Katalon Studio、Squish等,而我們把重點放在比較流行、有特點的工具上,也會傾向于成熟的開源工具等。像Robot Framework、Cucumber等屬于BDD測試框架,也不在UI功能測試工具范圍內,所以最終選擇下列十大工具:
1. Cypress
Cypress是面向web的、端到端的、開源的自動化測試工具,在github的star數目前已經是35.2k+,可見深受廣大測試人員的歡迎。Cypress能夠隨意調整頁面訪問窗口的尺寸、自動重新加載測試、自動等待等,可以實時看到有多少個測試通過或是沒通過,并且具有良好的可調試性,像chrome的DevTools一樣直接調試,可以快速的追蹤到出錯棧,可以在測試運行中自動存儲視頻以及出錯時候截屏存儲,鼠標滑過命令行時可以看到這個命令行執行時的動畫。官方站點:https://www.cypress.io/開源代碼:https://github.com/cypress-io/cypress
2. LambdaTest
LambdaTest是領先的跨平臺、跨瀏覽器測試自動化工具之一,可在基于云的Selenium網格上針對桌面、Android和iOS移動瀏覽器進行Selenium自動化測試。它還集成了開發者工具,有助于在實時測試中調試問題,LambdaTest與JIRA,Asana,Github,Trello,Slack等項目管理工具集成在一起,從而輕松地與CI/CD流水線集成。
官方站點:https://www.lambdatest.com/
3. Maveryx
Maveryx是一種具有開拓性的功能自動化UI工具,為廣泛的桌面和Web技術提供了功能UI、數據驅動和關鍵字驅動測試能力。Maveryx獲取正在運行的應用程序用戶界面的快照,并借助內置強大的智能對象識別引擎以標識要自動測試的UI元素,所以測試人員不需要創建/維護對象庫、UI地圖等;也可以使用關鍵字驅動的框架,以EXCEL格式創建復雜的測試。Maveryx是一個Java和C#庫的集合,可以從Eclipse和Visual Studio等IDE中導入項目,而且Maveryx測試可以從命令行運行,這樣任何CI服務器(如Jenkins)更容易集成/觸發Maveryx構建的回歸測試,支持CI/CD。
官方站點:http://www.maveryx.com/
4. Kobiton
Kobiton也是一種面向移動應用的、低代碼或無腳本技術的測試工具,可以在各種移動設備、針對不同技術的應用來驗證UI和用戶體驗,甚至可以實現自動自我修復測試腳本,并完全支持Appium, Selenium, XCUI, Espresso,集成到所有的CI/CD平臺上,最終確保獲得良好的深度和廣度的測試覆蓋。
官方站點:https://kobiton.com/
5. Ranorex Studio
Ranorex Studio是一個商業化的Windows GUI測試自動化工具,全球有4000多家公司使用它來測試桌面、web和移動應用程序。對于初學者,它的使用也簡單,可以使用無代碼的點擊式界面和有用的向導,但它也適合資深的自動化測試專家,有很強的功能,如可靠的對象標識(即使對于具有動態id的web元素)、可共享的對象存儲庫和可重用的代碼模塊、可定制的測試報告、并行運行測試(支持selenium Grid)等,能與Jira、Jenkins、TestRail、Git、Travis CI等工具集成。
官方站點:https://www.ranorex.com/
6. Sahi Pro
Sahi Pro可以說是唯一的低代碼測試自動化平臺(其實不是),以簡單而穩定的方式識別跨技術的元素,執行鼠標、鍵盤和觸摸操作,支持Web、桌面、移動、Webserivce等。Sahi Pro的技術消除了對語句的等待,甚至對不一致的頁面加載也不需要,從而使測試很穩定。Sahi Pro。Sahi Pro甚至可以在具有動態ID的應用程序上工作。能夠使用內置的業務驅動測試自動化(BDTA)框架,支持并行執行和在不同的機器上分發測試。
官方站點:https://www.sahipro.com/
7. SikuliX
SikuliX是一個基于圖像識別的、開源的UI測試框架,可以針對Windows、Mac或一些Linux/Unix的桌面計算機屏幕上能看到的任何東西實現自動化測試,因為它使用由OpenCV驅動的圖像識別來識別GUI組件,而無需了解隱藏著GUI下面的程序內部信息。除了在屏幕上定位圖像外,SikuliX還可以運行鼠標和鍵盤,與確定的GUI元素進行互動,并帶有基本的文本識別(OCR),可用于搜索圖像中的文本。
官方站點:http://sikulix.com/
8. Subject7
Subject7涵蓋Web、移動應用、桌面、數據庫、WebService(REST/SOAP)、負載測試(有負載生成引擎)、安全測試(主動或被動安全檢查)等測試,它利用AI-enabled XPath生成引擎和NextGen Recorder和無代碼網絡界面實現了真正的無代碼自動化,加速了測試的編寫和維護,并通過并行的云端執行進行能力的擴展,Subject7平臺通過一系列命令提供了端到端的測試自動化功能。這些命令可通過易于使用的Web界面使用,隱藏了諸如Selenium、Appium、SikuliX、JMeter、ZAP等行業標準軟件包的復雜性,但也可以在Universal Runner中直接使用現有的Selenium、Appium、SikuliX、JMeter、ZAP腳本。它也容易集成到JIRA,Jenkins,GitHub或任何DevOps平臺中,以實時持續測試。
官方站點:https://www.subject-7.com/
9. Telerik Test Studio
Telerik TestStudio是基于Windows的商業軟件測試工具,帶有Visual Studio插件,將無代碼和基于代碼的自動化功能融合在一個直觀的用戶界面中,使任何人都可以使用它進行自動化測試。它有直觀的測試記錄器,支持跨瀏覽器和智能混合元素檢測,可以實現Headless瀏覽器測試(可用于Chrome Headless,并能以完全無代碼的方式加以利用),大大減少測試執行和提高測試的穩定性,并支持支持OCR的PDF驗證、數據驅動的測試、集成調度和遠程測試執行和CI/CD集成,支持JavaScript、HTML、ASP.NET、Ajax、Silverlight等各種技術。
官方站點:https://www.telerik.com/teststudio
10. Testsigma
Testsigma是一款基于云端的、支持測試左移的、以AI驅動測試的自動化平臺,為Web、移動應用以及RESTful服務等各種應用的測試服務。功能測試人員可以輕松地使用自然語言編寫出簡化的測試腳本,并通過可重用的步驟組合和集中對象存儲庫,從而最大限度地提高了測試代碼的重用性。Testsigma能夠與各種開源的或第三方工具相集成,為持續測試提供所有必需的功能,如數據驅動測試、跨瀏覽器測試、可重用性測試套件、測試計劃與數據管理、電子郵件與Slack通知、并行測試執行、集中對象/元素存儲庫、綜合報告、與CI工具的集成、以及自動化Bug報告等。
官方站點:https://testsigma.com/
本文由培訓無憂網長沙牛耳教育課程顧問老師整理發布,希望能夠對想參加長沙軟件測試培訓的學生有所幫助。更多軟件測試培訓課程信息可關注培訓無憂網電腦IT培訓或添加老師微信:15033336050
注:尊重原創文章,轉載請注明出處和鏈接 http://m.dedgn.cn/news-id-11355.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注軟件測試頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050