自動化測試系列(三)|UI測試

UI 測試是一種測試類型,也稱爲用戶界面測試,通過該測試,我們檢查應用程序的界面是否工作正常或是否存在任何妨礙用戶行爲且不符合書面規格的 BUG。瞭解用戶將如何在用戶和網站之間進行交互以執行 UI 測試至關重要,通過執行 UI 測試,測試人員將嘗試模仿用戶的行爲,以查看用戶將如何與程序進行交互,並查看網站的運行情況是否如預期的那樣,是否有缺陷。

在上次的自動化測試系列(二)中爲大家大體介紹了API測試的概念及在豬齒魚中的實踐展開,本文主要圍繞UI測試進行概念介紹及Choerodon中的實踐展開。

下面爲大家詳細介紹豬齒魚提供的UI測試功能:

什麼是 UI 測試

UI 測試涵蓋了用戶交互部分,包括用戶關注的網站結構和視覺部分。Web 網站包含許多來自 CSS,JavaScript 和許多其他語言的不同 Web 元素,網站元素可以連接到屏幕、鍵盤、鼠標或用戶用於與網站進行交互的任何其他工具,UI 測試則捕獲這些元素並對其進行測試和聲明。

在執行 UI 測試時,需要注意確保應用程序不存在任何跨瀏覽器兼容性問題。由於每個瀏覽器都使用不同的瀏覽器引擎,並且可能不支持相同的 CSS 功能。因此,確保UI 在所有主要瀏覽器上無縫呈現非常重要。在不同的瀏覽器上進行測試稱爲跨瀏覽器測試,可以幫助測試人員在所有主要瀏覽器和設備(包括手機,平板電腦等)的多種組合下測試其網站。

手動或自動,如何選擇?

與其他任何類型的測試一樣,UI 測試也可以手動或通過自動化執行。手動測試要求測試人員在每個元素上手動執行每個測試。例如,測試輸入字段將需要針對任何差異一次又一次地鍵入不同的值。如果網站 UI 的組件較少​​,則最好通過手動過程進行 UI 測試,快速地完成。但它不適合複雜的網站,用戶界面豐富的網站使手動 UI 測試則非常低效,費時且容易出錯。

適合UI自動化測試的場景

不是所有的測試場景都適合用自動化測試來實現,對此,可以參考以下的標準輔助判斷:

  • 項目的需求不會頻繁變動
  • 頁面的 UI 已經進入穩定階段
  • 項目週期足夠長
  • 大量回歸的測試任務

其中,有些項目是明顯不適合使用 UI 自動化測試的,例如視頻播放器,音樂播放器等交動性強,併發依賴強的軟件。

UI自動化測試的優點

UI自動化測試過程簡化了創建UI測試、運行測試以及查看結果的過程,開發和測試團隊選擇自動化UI測試的原因有很多,最值得注意的包括:

  • 時間 – 手動測試速度很慢,無法與許多開發過程保持同步。
  • 成本 – 手動測試需要大量資源且成本很高。
  • 準確性 – 執行重複性任務時,手動測試容易出現更多錯誤。相反,自動化減少了這些錯誤的機會。
  • 規模化 – 執行復雜的迭代時,很難依靠手動測試。
  • 趨勢 – 大多數組織已經意識到如何從自動化測試中受益,因此,跳上自動化潮流的壓力越來越大。

UI自動化測試設計原則

  • 一個測試用例完成一個功能點測試(常用):一個手工用例對應一個自動化測試用例;
  • 一個腳本是一個完整的場景;
  • 腳本之間獨立,不能有依賴(腳本間相互隔離):例如與登陸狀態相關的用例:個人中心、訂單詳情、下單購物等,如果腳本之間不獨立,相互依賴,在登陸的測試腳本失敗的情況下,會導致個人中心、訂單詳情、下單購物的測試腳本全軍覆滅,後續修復與維護成本高;
  • 設置合適的檢查點:通過斷言判斷用例的成功與否;
  • 設計良好的框架:Python 常用的測試框架有 unittest 與 pytest,利用框架,及對共用的測試模塊進行封裝,減少自動化測試腳本維護的工作量;

WEB端UI測試工具介紹

API測試用例主要由4個部分組成,分別是:用例的基礎信息、前置步驟、請求腳本以及斷言。

UTF

UTF( Unified Functional Testing) = QTP( Quick Test Pro) + ST( Service Test)由 HP 公司開發。它是一種企業級的自動測試工具,提供了強大易用的錄製回放功能,同時兼容對象識別模式與圖像識別模式兩種識別方式,支持 B/S 與 C/S 兩種架構的軟件測試,是目前主流的自動化測試工具。主要是用於迴歸測試和同一軟件的新版本測試。

Robot Framework

是一款基於 Python 語言編寫的自動化測試框架,具備良好的可擴展性,支持關鍵字驅動,可以同時測試多種類型的客戶端或者接口,可以進行分佈式測試。

Selenium

Selenium概要

Selenium 也是一個用於 Web 應用程序測試的工具,支持多平臺、多瀏覽器、多語言去實現自動化測試,目前在 Web 自動化領域應用最爲廣泛。

Selenium 是最廣泛使用的開源 Web UI(用戶界面)自動化測試套件之一,最初由傑森·哈金斯(Jason Huggins)於 2004 年開發,作爲 Thought Works 的內部工具。Selenium 支持跨不同瀏覽器,平臺和編程語言的自動化。

Selenium功能特性

  • Selenium 是一個開源和可移植的 Web 測試框架。
  • Selenium IDE 爲創作測試提供了回放和錄製功能,而無需學習測試腳本語言。
  • 它可以被視爲領先的基於雲的測試平臺,可幫助測試人員記錄他們的操作並將其導出爲可重複使用的腳本,並具有易於理解且易於使用的界面。
  • Selenium 支持各種操作系統,瀏覽器和編程語言。如下列表:
    • 編程語言: C# ,Java,Python,PHP,Ruby,Perl 和 JavaScript
    • 操作系統:Android,iOS,Windows,Linux,Mac,Solaris。
    • 瀏覽器:谷歌瀏覽器,Mozilla Firefox,Internet Explorer,Edge,Opera,Safari 等。
  • 它還支持並行測試執行,從而減少了時間並提高了測試效率。
  • Selenium 可以與 Ant 和 Maven 等框架集成,用於源代碼編譯。
  • Selenium 還可以與 TestNG 等測試框架集成,以進行應用程序測試和生成報告。
  • 與其他自動化測試工具相比,Selenium 需要的資源更少。
  • WebDriver API 已經嘗試集於 Selenium 中,這是對 Selenium 進行的最重要的修改之一。
  • Selenium Web 驅動程序不需要服務器安裝,測試腳本直接與瀏覽器交互。
  • Selenium 命令根據不同的類進行分類,使其更易於理解和實現。
  • Selenium Remote Control(RC)與 WebDriver API 一起被稱爲 Selenium 2.0。此版本旨在支持充滿活力的網頁和 Ajax。

Selenium三大優點

  • 速度:時間是每家公司的主要資源,自動化測試可以節省很多時間。Selenium Automation 測試要求我們只編寫一次測試,然後一次又一次地運行它們,而不會以不同的值和不同的方案進行任何干預。
  • 準確性:只要測試編寫正確,Selenium Automation 測試就可以幫助我們正確執行測試。手動測試的主要缺點是容易發生人爲錯誤。
  • 透明度:Selenium Automation 測試還有助於快速生成報告,並在測試完成後立即與團隊共享。另一方面,手動測試需要時間來提取結果並手動報告結果以通過軟件或手動生成報告。

Choerodon UI測試

安裝

若在Choerodon 中使用 UI 測試,需要先安裝Selenium IDE 。

Selenium IDE(集成開發環境)是 Selenium Suite 下的開源 Web 自動化測試工具。與 Selenium WebDriver 和 RC 不同,它不需要任何編程邏輯來編寫其測試腳本,而只需記錄與瀏覽器的交互以創建測試用例。之後,可以使用播放選項重新運行測試用例。 注意:Selenium IDE 僅作爲 Firefox 和 Chrome 插件提供,它無法在 Firefox 和 Chrome 以外的瀏覽器上記錄測試用例。記錄的測試腳本也可以導出到 C#,Java,Ruby 或 Python 等編程語言。

Firefox 瀏覽器

Chrome 瀏覽器

使用

在 Chrome 瀏覽器上使用 Selenium IDE 錄製與回放腳本

1、打開 IDE,初始化界面如圖:

2、創建並開始錄製,輸入錄製的 web 地址

3、錄製完成,右擊測試用例,保存或導出。Selenium IDE 保存的都是.side 的單文件

Choerodon 中的 UI 測試是通過 Selenium IDE 中錄製生成的 side 文件導入系統中,在 UI 測試界面中生成對應的測試用例與步驟;而後便能直接執行對應的測試文件來對界面 UI 操作進行測試,可以直觀的看到生成的測試報告。

總結

UI測試是軟件測試周期的重要組成部分,是改善用戶體驗和客戶滿意度的重要驅動力,大多數最終用戶更關心他們實際看到和觸摸的內容。因此,這也是爲什麼UI或用戶界面變得如此重要,從而進行UI測試的原因。

 


本文由豬齒魚技術團隊原創,轉載請註明出處:豬齒魚官網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章