我有一个具有多个页面的Android移动应用程序,目前正在尝试为其编写简单的集成测试...
问题是我的应用仅使用内部Android后退手势,我没有后退按钮或类似的内容。
是否可以告诉FlutterDriver
返回上一页? (模拟android内部的后退按钮?)类似这样的内容:
driver.goPageBack()
非常感谢。 :)
答案 0 :(得分:2)
在您的活动代码中尝试此操作。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.YOUR_ACTIVITY);
assert getSupportActionBar() != null; //null check
getSupportActionBar().setDisplayHomeAsUpEnabled(true); //show back button
}
@Override
public boolean onSupportNavigateUp() {
finish();
return true;
}
答案 1 :(得分:0)
我能找到的最接近的东西是一个包装,它是一个后退按钮拦截器,它具有用于模拟后退按钮按下情况的测试方法BackButtonInterceptor.popRoute()
:https://pub.dev/packages/back_button_interceptor
答案 2 :(得分:0)
在Flutter存储库中,有一个测试通过在平台通道上发送消息来模拟硬件后退按钮,如下所示:
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance!.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });