如何从集成测试中选择颤振时间选择器中的时间

mar*_*987 1 android-timepicker flutter

我正在为 Flutter 应用程序编写集成测试,我需要打开时间选择器并选择一个时间,它是 android 中的时间选择器对话框,我可以点击选择器上方的时间,然后点击确定和取消按钮,但我不能更改表盘的选定时间。查看他们的小部件测试,他们正在使用偏移量对其进行测试,我不确定如何从集成测试中执行此操作。我创建了一个演示并截取了 flutter 小部件树的屏幕截图,您可以在其中看到拨号和手势检测器等,但没有任何键可以找到,也无法通过文本进行查找,深入研究源他们创建了一个 _TappableLabel 列表,它从画家那里获取文本,有没有人有办法做到这一点?

颤动小部件树

小智 5

灵感来自 timepicker 单元测试,那是可行的:

    var center = tester
        .getCenter(find.byKey(const ValueKey<String>('time-picker-dial')));

    await tester.tapAt(Offset(center.dx - 10, center.dy));

Run Code Online (Sandbox Code Playgroud)

由于表盘接受靠近中心的点击,在这种情况下,10 的偏移量足以选择 9。