首頁>技術>

Flutter整合測試

Flutter官方對Flutter應用測試型別做了三個階段劃分,分別為Unit(單元)測試、Widget(元件)測試、Integration(整合)測試。

按照維護成本來看的話從左到右依次增高,按照投資回報方面看的話依次是Widget>Integration>Unit,而作為測試人員來說,我們主要關注點在整合測試這一型別。

官網對於整合測試的定義:

“Unit(單元)測試和Widget(元件)測試對於測試單個類、方法或者元件來講非常方便,然而他們通常不會將各個部分作為整體一起進行測試,又或者是想要獲取應用在真實裝置上的表現,此時我們就需要整合測試了。”

FlutterDriver

FlutterDriver提供API去測試執行在真實裝置和模擬器裡面的Flutter應用,執行時會和測試指令碼在不同的程序中,可以簡單認為就是Flutter版本的Selenium WebDriver

新增FlutterDriver依賴

上一篇文章有介紹Flutter工程的目錄結構,其中pubspec.yaml檔案可以對依賴和配置進行管理,類似於Maven工程的pom.xml。找到dev_denpendencies新增如下配置

其中

flutter_driver: sdk: flutter配置表示新增FlutterDriver依賴test: any配置表示新增測試庫,因為我們寫TestCase需要用到裡面的方法和斷言整合測試步驟

01、建立測試App

需要注意的是:預設demo沒有給這些元素加上標識,而且flutter中不支援ID,一般通過Key屬性進行標識(對應定位方法為valueKey)。

02、建立test指令碼

1、在工程根目錄下建立test_driver資料夾

2、建立xx.dart檔案:用於啟動執行應用

3、建立xx_test.dart檔案:Test指令碼檔案

官方解釋為什麼需要建立這兩支檔案的原因:

整合測試中TestCase和應用執行在不同的程序中,所以需要test_driver目錄裡有兩個檔案分別用來執行應用和執行TestCase。

03、開啟Flutterdriver擴充套件支援

在xx.dart檔案中新增如下程式碼:

04、編寫測試指令碼

在xx_test.dart檔案中新增如下程式碼:

05、執行測試

1、連線裝置,我們可以選擇

在Windows上測試Android裝置/模擬器在MacOs上測試Android裝置/模擬器 or IOS裝置/模擬器

2、在專案的根目錄下開啟命令終端

命令解釋:

構建目標App包並將其安裝到裝置/模擬器中啟動目標App執行xx_test.dart執行效果:

關於FlutterDriver實現自動化測試就介紹到這裡,下篇給大家介紹利用appium-flutter-driver測試Flutter應用。

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Yew - 設計先進的Rust語言WASM框架