android - 如何在集成了 Flutter 模块的 Android 应用上运行 UI 测试?
问题描述
我有一个 android 应用程序,其中集成了一个单独的颤振模块。
因此,当我的应用程序启动时,我会初始化颤振引擎并将其加载到颤振片段中。所以我所有的初始屏幕都是从颤振模块渲染的。
我努力了:
Appium的flutter driver- APK安装运行流畅。但我无法访问任何颤振小部件。不确定这是否正在发生,因为颤振作为模块在片段中运行。
Flutter 测试驱动 程序——此外,由于 Flutter 模块被集成为一个单独的模块,因此使用测试驱动程序运行 Flutter 测试不起作用。
有什么方法可以对作为模块加载到 android 应用程序中的颤振代码运行 UI 测试?
代码结构类似于:
|- Android App
|-|-Flutter module
|-|-|- .Android module
|-|-|- .iOS module
|-|-Android modules
解决方案
确保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"
),
)
推荐阅读
- c++ - MFC:如何根据按钮单击交替显示两个组框?
- qt - 如何在 Qt 中调用框架
- java - 如何使用java将文件的内容保存为单个字符串
- python - 客户端离开时减少线程数
- vue.js - 电容写入文件到下载文件夹
- sql-server - 从表中删除“Document No_”到“Document No_”的记录?
- cdo-climate - 在 cdo 中使用双线性插值重新网格化 NetCDF 文件
- csv - 如何在perl中删除不可打印的字符^@
- mongodb - 无法从 Intellij Idea Ultimate/DataGrip 连接到 mongo atlas
- asp.net-mvc - Asp.Net MVC 在一个视图中显示两个表