如何在集成测试时解决在 Flutter 中请求 "dart.ui"
How can solve requesting "dart.ui" in Flutter while Integration Testing
我正在对我的登录页面进行集成测试。这是我得到的错误。我该如何解决这个错误。
C:\Users\user\AndroidStudioProjects\flutter_project>flutter drive --target=test_driver/app.dart Found multiple connected devices: SM J210F • 4200a590689b1400 • android-arm • Android
6.0.1 (API 23) Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator) Using device SM J210F.
Starting application: test_driver/app.dart Installing
build\app\outputs\apk\app.apk... 92.6s Running
Gradle task 'assembleDebug'... I/flutter ( 5922): Observatory
listening on http://127.0.0.1:54862/GeAeXgP3k4M=/
E/FlutterFcmService( 5922): Fatal: failed to find callback
I/flutter ( 7271): Observatory listening on
http://127.0.0.1:48093/UgDcJGtlUI0=/
E/FlutterFcmService( 7271): Fatal: failed to find callback
registerResGeneratingTask is deprecated, use
registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use
registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use
registerGeneratedResFolders(FileCollection) Running Gradle task
'assembleDebug'... 95.3s √ Built
build\app\outputs\apk\debug\app-debug.apk. Installing
build\app\outputs\apk\app.apk... 28.1s Package
install error: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]
Uninstalling old version... Installing
build\app\outputs\apk\app.apk... 93.1s
I/flutter ( 8617): Observatory listening on
http://127.0.0.1:54916/WUrIswnOm3g=/ E/FlutterFcmService( 8617):
Fatal: failed to find callback /
D:/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.4+2/lib/cloud_firestore.dart:8:8:
Error: Not found: 'dart:ui' import 'dart:ui' show hashList;
^ /D:/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-6.0.12/lib/firebase_messaging.dart:7:8:
Error: Not found: 'dart:ui' import 'dart:ui';
^ /D:/flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8:
Error: Not found: 'dart:ui' import 'dart:ui' as ui show Paint, Path,
Canvas;
/D:/flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8:
Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/app.dart:5:8: Error: Not found: 'dart:ui' import 'dart:ui' as ui;
- ^ /D:/flutter/packages/flutter/lib/src/material/app_bar_theme.dart:5:8:
Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/arc.dart:6:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart:5:8:
Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart:5:8:
Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/button_bar_theme.dart:5:8:
Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^
- Stopping application instance. Driver tests failed: 254
我的app_test.dart代码
import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart';`
void main() {
group("Flutter Auth Test", () {
final emailField = find.byValueKey("emailfield");
final passwordField = find.byValueKey("passwordfield");
final signbutton = find.byValueKey("log");
final adminPage = find.byValueKey("home");
final userPage = find.byValueKey("userp");
FlutterDriver driver;
setUpAll(()async{
driver = await FlutterDriver.connect();
});
tearDownAll(()async{
if(driver != null) {
driver.close();
}
});
test("login with incorrect email and password",() async{
await driver.tap(emailField);
await driver.enterText("test@gmail.com");
await driver.tap(passwordField);
await driver.enterText("test123");
await driver.tap(signbutton);
await driver.waitUntilNoTransientCallbacks();
assert(adminPage == null && userPage == null);
});
test("login admin with correct email and password",() async {
await driver.tap(emailField);
await driver.enterText("madhuwanthiaah@gmail.com");
await driver.tap(passwordField);
await driver.enterText("admin123");
await driver.tap(signbutton);
assert(adminPage != null && userPage == null);
});
test("login user with correct email and password",() async {
await driver.tap(emailField);
await driver.enterText("cst16029@gmail.com");
await driver.tap(passwordField);
await driver.enterText("user123");
await driver.tap(signbutton);
assert(userPage != null && adminPage == null);
});
});
}
我解决了更新我的包的问题 运行,
flutter drive --target=test_driver/app.dart
命令。
这个对我有用。我使用 android 模拟器进行了此测试。
我正在对我的登录页面进行集成测试。这是我得到的错误。我该如何解决这个错误。
C:\Users\user\AndroidStudioProjects\flutter_project>flutter drive --target=test_driver/app.dart Found multiple connected devices: SM J210F • 4200a590689b1400 • android-arm • Android 6.0.1 (API 23) Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator) Using device SM J210F. Starting application: test_driver/app.dart Installing build\app\outputs\apk\app.apk... 92.6s Running Gradle task 'assembleDebug'... I/flutter ( 5922): Observatory listening on http://127.0.0.1:54862/GeAeXgP3k4M=/
E/FlutterFcmService( 5922): Fatal: failed to find callback
I/flutter ( 7271): Observatory listening on http://127.0.0.1:48093/UgDcJGtlUI0=/
E/FlutterFcmService( 7271): Fatal: failed to find callback
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) Running Gradle task 'assembleDebug'... 95.3s √ Built build\app\outputs\apk\debug\app-debug.apk. Installing build\app\outputs\apk\app.apk... 28.1s Package install error: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] Uninstalling old version... Installing build\app\outputs\apk\app.apk... 93.1s I/flutter ( 8617): Observatory listening on http://127.0.0.1:54916/WUrIswnOm3g=/ E/FlutterFcmService( 8617): Fatal: failed to find callback /
D:/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.4+2/lib/cloud_firestore.dart:8:8: Error: Not found: 'dart:ui' import 'dart:ui' show hashList;
^ /D:/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-6.0.12/lib/firebase_messaging.dart:7:8: Error: Not found: 'dart:ui' import 'dart:ui';
^ /D:/flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8: Error: Not found: 'dart:ui' import 'dart:ui' as ui show Paint, Path,
Canvas;/D:/flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/app.dart:5:8: Error: Not found: 'dart:ui' import 'dart:ui' as ui;
- ^ /D:/flutter/packages/flutter/lib/src/material/app_bar_theme.dart:5:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/arc.dart:6:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart:5:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart:5:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble;
^ /D:/flutter/packages/flutter/lib/src/material/button_bar_theme.dart:5:8: Error: Not found: 'dart:ui' import 'dart:ui' show lerpDouble; ^
- Stopping application instance. Driver tests failed: 254
我的app_test.dart代码
import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart';`
void main() {
group("Flutter Auth Test", () {
final emailField = find.byValueKey("emailfield");
final passwordField = find.byValueKey("passwordfield");
final signbutton = find.byValueKey("log");
final adminPage = find.byValueKey("home");
final userPage = find.byValueKey("userp");
FlutterDriver driver;
setUpAll(()async{
driver = await FlutterDriver.connect();
});
tearDownAll(()async{
if(driver != null) {
driver.close();
}
});
test("login with incorrect email and password",() async{
await driver.tap(emailField);
await driver.enterText("test@gmail.com");
await driver.tap(passwordField);
await driver.enterText("test123");
await driver.tap(signbutton);
await driver.waitUntilNoTransientCallbacks();
assert(adminPage == null && userPage == null);
});
test("login admin with correct email and password",() async {
await driver.tap(emailField);
await driver.enterText("madhuwanthiaah@gmail.com");
await driver.tap(passwordField);
await driver.enterText("admin123");
await driver.tap(signbutton);
assert(adminPage != null && userPage == null);
});
test("login user with correct email and password",() async {
await driver.tap(emailField);
await driver.enterText("cst16029@gmail.com");
await driver.tap(passwordField);
await driver.enterText("user123");
await driver.tap(signbutton);
assert(userPage != null && adminPage == null);
});
});
}
我解决了更新我的包的问题 运行,
flutter drive --target=test_driver/app.dart
命令。
这个对我有用。我使用 android 模拟器进行了此测试。