Flutter集成测试-屏幕上没有后退按钮时如何返回上一屏幕

时间:2019-11-26 06:17:13

标签: flutter dart flutter-test

当屏幕上没有后退按钮时,如何返回上一屏幕? 附加信息:我正在尝试自动化Flutter应用程序的集成测试。屏幕上没有后退按钮,我可以使用它返回屏幕。 附加信息:我正在编写集成测试,同样,我需要返回上一个屏幕。由于设计的原因,屏幕上没有后退按钮,我只需要执行脚本即可。

3 个答案:

答案 0 :(得分:1)

您可以像提供的ios一样使用

theme: ThemeData(
pageTransitionsTheme: PageTransitionsTheme(
  builders: {
    TargetPlatform.android: CupertinoPageTransitionsBuilder(),
    TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
  }
 )
),

答案 1 :(得分:1)

好吧,也许有些晚了,但是有两种方法可以实现:

final backButton = find.byTooltip('Back');

await driver.tap(backButton);

或:

await driver.tap(find.pageBack());

答案 2 :(得分:1)

如果测试的目的也是强调并验证WillPopScope回调,则可以使用以下方法:

final dynamic widgetsAppState = _._tester.state(find.byType(WidgetsApp));
await widgetsAppState.didPopRoute();

这在Flutter官方存储库中用于测试:https://github.com/flutter/flutter/blob/master/packages/flutter/test/material/will_pop_test.dart

请注意,这种方法还可以模拟Android上的 后退按钮