如何在集成测试时解决在 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 模拟器进行了此测试。