如何与来自 Flutter integration_test 的原生 UI 元素进行交互?
Posted
技术标签:
【中文标题】如何与来自 Flutter integration_test 的原生 UI 元素进行交互?【英文标题】:How to interact with native UI elements from flutter integration_test? 【发布时间】:2021-08-26 16:55:47 【问题描述】:我正在尝试对 Flutter 应用中的用户流进行自动化测试。为此,我使用了颤振集成测试包 (https://flutter.dev/docs/testing/integration-tests)。我已经使用 integration_test 包编写了测试。尽管这些测试在物理设备上运行,但在某些情况下我必须与本机 UI 元素交互(例如,单击权限按钮以授予相机权限等)但是,我无法与本机 UI 交互具体元素:
1.在系统权限对话框中点击允许 2.打开相机时点击拍摄按钮 3.从图库中选择图片
我想了解如何通过脚本实现上述情况并因此实现自动化。此外,可以将 appium-flutter-driver 或 flutter-driver 等框架与 flutter_integration 结合使用来实现此目的。任何指针都会有所帮助。
【问题讨论】:
【参考方案1】:长话短说,目前可能不可能。
这两个 GitHub 问题几乎是我们关心的问题:
Add support to test native permission dialog (#87440) Allow driving native UI interactions from Dart (#86295)但是,到目前为止,关于此事的每一条评论都在说明这件事有多困难。 android 方面唯一的“解决方案”是使用 Android ADB,但在那时,它甚至不再是 integration_test
。
【讨论】:
以上是关于如何与来自 Flutter integration_test 的原生 UI 元素进行交互?的主要内容,如果未能解决你的问题,请参考以下文章
如何将参数传递给flutter integration_test?
如何解决“在 Flutter SDK 中找不到包 integration_test”错误
在 Flutter 中,如何使用 CachedNetworkImage 显示来自 Firebase 的离线图像?