Flutter Driver 测试在 OS 弹出窗口时崩溃(例如通知同意)

Flutter Drive tests crashes on OS pop-ip (e.g. notification consent)

我正在使用 Flutter Drive 进行集成测试。在应用程序显示推送通知同意之前,测试运行良好。 Flutter Drive 似乎无法识别 iOS 的弹出窗口并在那里崩溃。

      takeScreenshot(driver,"screenshots/01.login_screen_initial.png");
      await driver.tap(tfUserId);
      await driver.enterText('100111');
      await driver.tap(tfPassword);
      await driver.enterText('abc');
      takeScreenshot(driver,"screenshots/02.login_screen_before_button_tap.png");
      await driver.tap(loginButton);

点击此按钮后,应用会请求推送通知同意。并且以下代码永远不会执行。

    takeScreenshot(driver,"screenshots/03.login_screen_just_after_button_tap.png");
    await driver.waitForAbsent(btnHRDirectory,timeout: Duration(seconds: 360));
    takeScreenshot(driver,"screenshots/04.dashboard_screen.png");

我得到的错误是:

[VERBOSE-2:rasterizer.cc(307)] Last layer tree was null when screenshotting.

详细错误为 here

问题出在脚本的某处。 driver.WaitFor 以及超时持续时间有帮助。 pop-up 没有问题,因为 Flutter Drive 等待 pop-up 消失。