1. 程式人生 > >基於GUI測試工具Squish的使用

基於GUI測試工具Squish的使用

申請Squish試用

啟用資訊會在提交申請後的24小時之內通過郵件的形式傳送至您申請時所填寫的郵箱地址。

在填寫試用申請表的國家一項時,請不要選擇中國。我們發現如果申請表國家一欄選擇中國時,Squish的試用申請資訊會被轉交給Squish在中國方面的代理商,屆時您需要提供公司的相關資訊才能獲得啟用碼和下載連結。

目前官方提供的試用期限為 10天(不是30天)。

下載Squish安裝包

當試用申請通過以後,Squish官方會發送一個登入賬號資訊到您的註冊郵箱中。使用者名稱為您註冊時填寫的郵箱地址,密碼為隨機的8位字元。瀏覽器開啟(http://www.froglogic.com/secure/)頁面,填寫正確的登入資訊,即可登入Squish的下載頁面。此頁面同時提供軟體的啟用碼資訊。

針對本次自動化測試專案,您需要下載對應的Squish版本squish-6.2.0-qt55x-win32-msvc10.exe

檢視此Squish檔案的命名,我們可以得到以下資訊:

  • Squish 6.2.0 版本
  • 基於Qt 5.5.x物件庫
  • Windows 32bit
  • 軟體在Microsoft Visual Studio 2010下編譯完成

Squish的安裝

在開始運用Squish進行測試前,請確保電腦中成功安裝了基於GUI自動化測試的Squish for Qt工具。同安裝絕大多數Windows平臺應用程式一樣,Squish for Qt的安裝過程只需要一路預設安裝即可。

進行Squish for Qt安裝(此處以版本6.1.0進行示例安裝)

  1. 執行安裝

    雙擊先前下載的程式squish-6.1.0-qt55x-win32-msvc10.exe,開始安裝

  2. 輸入有效的Squish啟用碼

  3. 同意試用許可協議

  4. 選擇Squish的安裝目錄

  5. 建立“桌面”與“開始選單”快捷方式

  6. 執行安裝

  7. 完成Squish for Qt安裝

新建測試專案集、測試用例

Squish for Qt的整合開發環境類似於Eclipse。如果您原先熟悉Eclipse軟體,相信您會很快掌握Squish for Qt的開發環境。

建立專案集:

  1. 依次開啟選單 File | New… | Squish Test Suite

  2. New Squish Test Suite對話方塊,填寫專案名稱並選擇專案儲存路徑

  3. 點選Next >進入程式語言選擇對話方塊;本專案選擇JavaScript語言作為程式語言

  4. 點選Next >進入測試程式選擇對話方塊,選擇被測試的程式(AUT

  5. 點選Finish完成新建專案集的操作
  6. 在剛剛新建的專案集中,增加一個測試用例,即可以進行測試指令碼的開發事宜

專案集名稱以“suite_”開頭;測試用例以 “tst_”開頭。

執行測試用例

首先,載入被測試程式(AUT)

點選Test Suite Settings | Application Under Test (AUT)載入被測試程式。

執行單個測試用例

雙擊開啟所要執行的測試用例,執行(Run | Run Test Case)即可啟動被測程式按指令碼先後順序進行測試。

批量執行測試用例

勾選所要進行測試的指令碼,執行(Run | Run Test Suite)即可啟動被測程式。Squish for Qt會按照一定的順序執行勾選的各個指令碼。

測試結果的檢視

自動化測試結果會以日誌記錄的方式呈現Test ResultsWindow | Show View… | Other… | Squish Tests | Test Results)。在每次自動化測試完成後,Squish for Qt均會生成測試結果日誌。此日誌包括:

  • Pass Messages(測試中通過的訊息)
  • Expected Fail Messages (測試中預期失敗的訊息)
  • Fail Messages (測試中失敗的訊息)
  • Unexpected Pass Messages (測試中未預期通過的訊息)
  • Error Messages (測試中錯誤的訊息)
  • Fatal Messages (測試中嚴重錯誤的訊息)
  • Warning Messages (測試中警告的訊息)
  • Log Messages (測試中日誌記錄的訊息)

Squish for Qt提供了一個針對不同日誌訊息進行分類篩選(Filter the Results)的功能。利用此功能,您可以篩選出自己最想要看到的測試結果。當您最想知道測試結果中Error Messages一類訊息時,可以將其它訊息進行去除“勾選”,只保留Error Messages,這樣篩選出來的訊息即只有Error Messages一類。

結果檔案由XML轉成HTML

您可以在整合開發環境(Squish for Qt)中檢視日誌資訊,但這終究不方便。聰明的您可能會想到,是不是有其它更為便捷的方式進行報告檢視?為方便測試結果的檢視與測試中出現的問題定位,您需要將測試結果日誌匯出,並進行格式轉換。

匯出XML文件

Test Results區域右鍵點選,選擇Export Results…將測試結果以XML格式匯出儲存。

在匯出的儲存位置對話方塊中,您可能注意到其“儲存型別(T)”為 Squish Report Files(v3)。這裡的v3代表著SquishReport version 3.1,即此版本的XML報告結構是基於Squish xml schema 的3.1版本進行的。

XML文件轉換成HTML文件

Squish for Qt安裝目錄下存在一個名為regressiontesting的目錄。位於這個目錄下的兩個Python檔案可以將XML轉換為HTML格式。

  • squishxml2html.py

    適合Squish xml 2.0版本的檔案。

  • squishxml3html.py

    適合Squish xml 3.1版本的檔案。

下面將進行文件格式轉換的處理,在此之前請確保您的機器安裝有 Python 2.7

將xml(以results.xml為例)結果檔案放於與 squishxml3html.py(請依據Squish xml的版本進行選擇)同一目錄下。

命令列模式下進入此目錄,執行以下程式碼:

python squishxml3html.py ./ results.xml

執行上述程式碼即可在同一目錄下生成results.html、index.html檔案。

  • index.html(測試報告概要)
  • results.html(自動化測試詳細內容)

通過瀏覽器開啟results.html,可以檢視測試結果的詳細內容。

官方提供的Python指令碼在處理中文字元時會出現問題,需要更改一下編碼型別。

解決方法是加入以下兩句話

reload(sys)
sys.setdefaultencoding( "utf-8" )

更新後的部分程式碼類似於下圖所示

squishxml3html.py檔案已經上傳至Git程式碼庫。相較於官方提供的版本,此squishxml3html.py指令碼更改了不同訊息的呈現顏色,並加入了Warning Messages類的訊息統計。