1. 程式人生 > >初識 Katalon Studio 自動化測試工具

初識 Katalon Studio 自動化測試工具

1.Selenium/Appium 自動化工具概述

實施自動化測試之前,我們總會調研哪些工具易用,免費,容易和其他工具或者框架整合。做 Web 自動化測試我們經常選擇Selenium,因為它開源免費,支援不同的開發語言,還有錄製功能,從一定程度上減少了測試人員開發指令碼的成本;做App自動化測試我們通常選擇 Appium,它也是開源免費,同時支援 Android 和 IOS 兩大作業系統,支援不同的語言開發指令碼,同時能測試原生和混合應用。但這兩種工具需要結合其他的測試框架來管理我們的測試案例,比如Jnuit、unittes、NUnit 等,這就要求測試人員有較高的編碼技能。

2. 關於Katalon Studio

2.1 Katalon 是什麼

Katalon Studio 是一款免費的自動化測試工具,可以安裝在windows、macOS、linux作業系統上,基於selenium 和 Appium 測試框架,並集成了這些框架的優點。這個工具支援不同層次技能的測試開發人員使用,有很少編碼經驗的測試人員也可以很快的上手一個自動化測試專案,編碼經驗豐富的測試人員可以基於該工具做擴充套件,靈活的實現所需功能。

2.2 Katalon 特色

Katalon Stuion 是一款可安裝的測試工具,集成了 Eclipse 的部分功能,又支援介面化編碼,無論是經驗豐富的測試開發人員還是測試新手,都能以自己熟悉的方式完成測試指令碼的開發。Katalon Stuidio 的特點主要體現在以下幾個方面。

2.2.1 提供一個完整的自動化測試解決方案

Katalon Studio 支援Web,Mobile,API 型別的自動化測試,它同時可以管理頁面元素、測試資料、測試案例、生成自動化測試報告,可以整合到 CI/CD 過程中,相容流行的質量處理工具,包括qTest,JIRA等,只需要使用 Katalon Studio 一個測試工具,就可以完成整個自動化測試流程。

2.2.2 環境安裝簡單

下載Katalon Studio後,在 windows 或者 mac 系統上只需雙擊 katalon.exe 即可執行環境,輸入使用者名稱和密碼註冊或者登入之後就可以使用了;在linux作業系統上,安裝openjdk後,直接解壓下載的安裝包,使用命令列即可執行案例。

2.2.3 支援錄製指令碼

對於 Web 和 Mobile, katalon 提供了錄製的功能,不同於selenium 或者 Appium 的錄製功能,katalon 錄製的指令碼可讀性很強,一個操作動作會生成一條語句,由 WebUI/Mobile + 關鍵字 + 頁面元素構成,下圖是一個錄製的App登入指令碼的Manual 模式:

這裡寫圖片描述


下圖是該指令碼的 Script 模式:
這裡寫圖片描述

2.2.4 視覺化查詢頁面元素

除了支援錄製指令碼外,Katalon 還提供了 “Spy Web” 和 “Spy Mobile” 的功能,可以視覺化的將頁面元素儲存在物件頁面物件庫中,方便寫指令碼時呼叫。


這裡寫圖片描述

2.2.5 視覺化案例管理

  1. 支援手動和指令碼兩種模式編寫案例
    這裡寫圖片描述

  2. 提供豐富的關鍵字
    對於Web、Mobile、API,katalon 提供了豐富的關鍵字,比如點選、獲取焦點、輸入文字、滑屏、解鎖、等待頁面元素出現等等,幾乎覆蓋了測試中用到的所有操作,在使用時直接呼叫即可,無需再次封裝。另外還支援自定義關鍵字,實現特殊功能。關鍵字管理如下圖。
    這裡寫圖片描述

  3. 頁面物件管理庫
    Katalon Studio 提供了單獨的頁面物件管理庫。
    這裡寫圖片描述


    可以使用錄製指令碼自動生成頁面物件,也可以使用頁面物件探測器(Spy Web, Spy Mobile) 手動儲存頁面物件。頁面物件和測試案例分開,便於後續測試指令碼維護。

  4. 測試資料管理
    Katalon Studio 提供了單獨的資料管理模組。
    這裡寫圖片描述
    資料來源支援多種格式: Excel、csv、database等。指令碼中的資料可以以引數的形式呼叫資料來源中資料,便於指令碼維護。

  5. 檢查點管理
    Katalon中檢查點的來源同測試資料,可以是Excel、csv、 database 格式的資料,豐富的檢查點校驗功能可以幫助我們更準確的驗證案例是否成功。

  6. 提供TestSuit 管理TestCase
    這裡寫圖片描述


    TestSuit 中可以新增刪除 TestCase,並選擇TestCase的執行順序。TestSuit中的案例執行完成後,可以在Reports中檢視測試報告,也可以在Log Viewer 檢視中檢視執行日誌。

2.2.6 支援擴充套件和自定義功能

Katalon 允許使用者自定義Method,Test Listeners、KeyWord,也可以匯入匯入外部jar包以實現更復雜的功能。

2.2.7 版本更新快

Katalon Studio 幾乎是一個月更新一次版本,使用過程中遇到的問題可以在官方論壇中提問。

2.3 Katalon 幫我們解決了哪些難題

  1. 編碼能力弱
    無論使用Selenium 還是 Appium, 我們需要結合其他測試框架編寫測試指令碼,需要自定義指令碼的管理模式,比如PageFactory 模式或者關鍵字驅動模式,還需要自己封裝關鍵字並且需要處理測試過程中遇到的異常。這樣會花費很多時間學習開發技能,並且複雜的指令碼也不易於在專案中推廣,而katalon支援錄製指令碼,對不能錄製的指令碼,我們也可以使用已經封裝好的關鍵字,藉助頁面元素探測器編寫指令碼,並且katalon也提供了視覺化的程式設計檢視,只需一些編碼基礎,都可以很好的使用katalon。
  2. 安裝環境困難
    Selenium 和 Appium 安裝時需要依賴一些其他的工具,特別是Appium,安裝之前需要安裝Java環境,需要安裝Android Sdk,需要更新很多東西。在 安裝Appium 的過程中,會遇到不少的坑,而Katalon Studio 只需雙擊執行 katalon.exe 即可執行,大大節省了安裝時間。
  3. 定位元素困難
    測試App的時候定位元素需要使用uiautomatorviewer 或者Chrome的擴充套件功能,在使用使用Chrome的擴充套件功能時需要翻牆,這在一定程度上增加了查詢元素的複雜性。使用Katalon 的 Spy Mobile 功能基本能獲取 App 的所有元素,而且使用此方式查詢元素比較穩定。
  4. 其他工具錄製指令碼可讀性差
    使用 Selenium 或者 Appium 錄製的指令碼可讀性非常差,特別是 Appium,錄下的指令碼可用的資訊特別少,而Katalon 錄製的指令碼非常簡潔,可讀性也很好。

4. Katalon 存在的不足

  1. 相關中文文件少
    目前國內 Katalon 的使用者非常少,相關的使用文件也很少,但官方的文件還是很詳細的,遇到問提可以查閱使用者手冊

  2. 不支援中文
    Katalon 目前不支援使用中文命名資料夾、頁面物件、案例名稱等,測試報告也不支援中文。

  3. 靈活性欠佳
    相對於Appium 或者 Selenium,katalon 的使用門檻降低不少,但是視覺化的工作方式使其在處理一些複雜的工作流上不夠靈活,這時需要我們自定義keywords 或者 method 來實現相關功能。

5. TODO

  1. 使用命令列執行 katalon 案例
  2. katalon 和 jenkins的整合

6. 參考文件