最近一直斷斷續續的學習flutter,今天跟大家介紹一下flutter driver測試。
flutter的測試遵循android的測試規範進行了分層。
不同型別測試之間簡單對比:
單元測試
widget測試
整合測試
confidence
low higher
highest
維護成本
low higher
highest
依賴few more
lots
執行速度
quick
slower
首先,你要建立第乙個flutter應用。
下面涉及到的檔案如下:
├── lib/
│ └── .dart
├── test_driver/
├── pubspec.yaml
在pubspec.yaml
檔案中,新增flutter_driver
外掛程式,所以 flutter_driver並不是建立專案標配的,需要你額外安裝。
dev_dependencies:
test: ^1.5.1
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
然後在flutter應用根目錄下執行命令:
// 匯入擴充套件
import 'package:flutter_driver/driver_extension.dart';
// 匯入main入口檔案
void main()
整合測試是乙個簡單的package:test測試,它使用flutter driver api告訴應用程式執行什麼操作,然後驗證應用程式是否執行了此操作。
import 'dart:io';
// imports the flutter driver api
import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart';
void main() );
teardownall(() async
});// 第一條用例
test('starts at 1', () async );
// 第二條用例
test('increments the counter', () async );
});}
作為乙個有多年測試經驗的同學,單純學習元素定位和斷言也花了我半天時間。
setupall()
&teardownall()
:定義用例開始和結束的執行動作。
driver = await flutterdriver.connect();
driver.close();
關閉瀏覽器。
driver.tap()
driver.entertext()
driver.gettext()
...
flutter常用操作,觸控、輸入和獲取文字等。
find.byvaluekey()
find.bytooltip()
...
元素定位,flutter driver提供了好幾種定位方式。
expect()
斷言方法,斷言兩個值是否相等。
flutter driver api:
最後,如何執行整合測試:
using device android sdk built for x86.
running gradle task 'assembledebug'...
running gradle task 'assembledebug'... done 2.4s
i/flutter (16043): observatory listening on
00:00 +0: 計數器測試 (setupall)
vmserviceflutterdriver: isolate found with number: 4454864095217843
vmserviceflutterdriver: isolate is paused at start.
vmserviceflutterdriver: attempting to resume isolate
vmserviceflutterdriver: waiting for service extension
00:03 +0: 計數器測試 starts at 1
00:03 +1: 計數器測試 increments the counter
點選 add icon
斷言計數器加1
00:03 +2: 計數器測試 (teardownall)
00:03 +2: all tests passed!
整合之路 IBM Portal wcm整合
門戶作為一站式解決方案,其核心的價值在於整合企業內部資源。如何去整合企業內部的各應用系統?這個問題是一直是做整合實現的人應該考慮的事.既於自己的工作經驗及看法,把這個整合之路,分為三個階段 資訊整合 介面 資料整合 流程整合。一 資訊整合,所謂資訊整合就是把應用系統的展示資訊的頁面展現到門戶的頁面來...
整合sleuth 整合Sleuth
sleuth是 springcloud 分布式跟蹤解決方案。sleuth 術語 跨度 span sleuth 的基本工作單元,他用乙個64位的id唯一標識。出id外,span還包含 其他的資料,如 描述,時間戳事件,鍵值對註解等,spanid span父id等。trace 跟蹤 一組span組成的樹...
spring 整合Junit,整合web
l 匯入jar包 基本 4 1 測試 spring test.jar 1.讓junit通知spring載入配置檔案 2.讓spring容器自動進行注入 l 修改測試類 package com.hcx import org.junit.test import org.junit.runner.runw...