我使用FlutterDriver对颤动包执行集成测试。
当平台是Android时,脚手架中使用AppBar,当平台是iOS时,使用CupertinoNavigationBar。
在Android上进行测试时,我可以使用以下代码找到back按钮
await driver.tap(find.byTooltip('Back'));
然而,这在iOS上失败了。由于按钮是自动生成的,所以我无法编程添加标记。对于如何在iOS上选择它,有什么建议吗?跨平台解决方案的额外积分。
另外,对于模拟android设备返回按钮点击(在应用程序之外),有什么建议吗?
发布于 2018-11-27 21:18:58
await driver.tap(find.pageBack());
发布于 2020-09-08 08:56:37
不幸的是,接受的解决方案await driver.tap(find.pageBack())
不适合我。
因此,我将Key
添加到AppBar
中,并访问了BackButton
,如下所示
final appBar = find.byValueKey("appBarKey");
await driver.waitFor(appBar);
final back = find.descendant(
of: appBar,
matching: find.byType('BackButton'),
firstMatchOnly: true,
);
await driver.tap(back);
发布于 2019-03-01 15:24:17
我发现了这个
find.byType(CupertinoNavigationBarBackButton);
我不知道这是或多或少的表演性,还是依赖于其他东西来发挥作用
https://stackoverflow.com/questions/51257189
复制相似问题