如何在集成了 Flutter 模块的 Android 应用上运行 UI 测试?
Posted
技术标签:
【中文标题】如何在集成了 Flutter 模块的 Android 应用上运行 UI 测试?【英文标题】:How do I run UI tests on an Android App having a Flutter module integrated in it? 【发布时间】:2021-08-02 19:40:52 【问题描述】:我有一个 android 应用程序,其中集成了一个单独的颤振模块。
所以当我的应用程序启动时,我会初始化 Flutter 引擎并将其加载到 Flutter 片段中。所以我所有的初始屏幕都是从颤振模块渲染的。
我试过了:
Appium 的颤振驱动程序- APK 安装并运行顺畅。但我无法访问任何颤振小部件。不确定是否会发生这种情况,因为颤振正在作为模块在片段中运行。
Flutter 测试驱动程序- 另外,由于 Flutter 模块被集成为一个单独的模块,因此使用测试驱动程序运行 Flutter 测试不起作用。
有什么方法可以对作为模块加载到 android 应用程序中的颤振代码运行 UI 测试?
代码结构类似于:
|- Android App
|-|-Flutter module
|-|-|- .Android module
|-|-|- .ios module
|-|-Android modules
【问题讨论】:
【参考方案1】:确保enableFlutterDriverExtension()
是main.dart
类的第一行
并将键添加为值键
前
InkWell(
child: Container(
key: ValueKey("click_container"),
margin: const EdgeInsets.only(top: 32.0, bottom: 30.0),
padding: const EdgeInsets.only(
top: 15.0, bottom: 15.0, left: 40.0, right: 40.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.0),
color: Colors.white),
child: Text(
"Hello"
),
)
【讨论】:
这只会使从我的颤振模块生成的应用程序进行 UI 测试。如果应用程序是从外部原生 android 模块创建的,这将不起作用。 你遇到了什么问题......我们尝试了它的工作 如果我的颤振代码打开了一些原生 android 活动,我将如何执行 UI 测试?是否可以使用颤振驱动程序?以上是关于如何在集成了 Flutter 模块的 Android 应用上运行 UI 测试?的主要内容,如果未能解决你的问题,请参考以下文章