如何使用FlutterDriver检查应用程序状态



我们正在使用FlutterDriver构建一些集成测试,并希望验证应用程序的状态。

flutter drive似乎运行在与应用程序完全不同的实例中,因此它们不能通过将数据隐藏在某个共享静态类中来间接通信。

有没有从应用程序向测试层传递数据的通用策略?

我想到的一些想法:

  • 我们可以将json值写入磁盘,但测试方真的能读取它吗
  • 有一个隐藏的文本小部件,它显示了一个特殊的ui视图,可以呈现状态,这样我们就可以从测试层读取它

fwiw,我们目前已经通过json将一些应用程序状态编码到一个不可见的文本小部件中来解决这个问题,我们将其放在屏幕上。

然后,测试可以查找该文本,解码json,并读取当前应用程序状态。

很粗糙,但它有效!

test('Check flutter driver health', () async {
Health health = await driver.checkHealth();
print(health.status);
});

最新更新