使用Flutter驱动程序中的系统后退按钮

时间:2019-03-01 15:33:58

标签: testing flutter integration-testing driver

如何在集成测试中使用系统后退按钮?

因此,我正在使用Flutter,并且正在编写集成测试,在大多数情况下,我可以使用AppBar导航,通过工具提示找到它就像这样:

driver.tap(find.byTooltip('Back'));

但是我的一项测试打开了一个网页,打开之后我需要继续进行测试,这意味着我需要按下系统后退按钮,这可能吗?

非常感谢

3 个答案:

答案 0 :(得分:5)

如果您的计算机上安装了adb,则可以使用键盘事件运行命令来执行Backpress:

import 'dart:io';
await Process.run(
  'adb', 
  <String>['shell', 'input', 'keyevent', 'KEYCODE_BACK'], 
  runInShell: true,
);

答案 1 :(得分:2)

也许这可以帮助您

 await device.shellExec('input', <String>['keyevent', 'KEYCODE_BACK']);

在官方的颤振驱动程序测试link中找到

答案 2 :(得分:0)

签出this链接。简而言之,您需要使用WillPopScope类来处理带有回调的设备后退按钮。