我正在为一个 flutter 应用程序编写集成测试,我需要打开时间选择器并选择一个时间,它是 android 中的一个时间选择器对话框,我可以点击选择器上方的时间,然后点击确定和取消按钮但我无法更改表盘的选定时间。查看他们的小部件测试,他们正在使用偏移量对其进行测试,我不确定如何从集成测试中执行此操作。我已经创建了一个演示并截取了 flutter 小部件树的屏幕截图,您可以在其中看到拨号和手势检测器等,但是没有任何键可以找到并且尝试通过文本查找也不可能,深入研究源代码代码他们创建了一个 _TappableLabel 列表,它从画家那里获取文本,有人有办法做到这一点吗?
最佳答案
从 timepicker 单元测试中得到启发,那是可行的:
var center = tester
.getCenter(find.byKey(const ValueKey<String>('time-picker-dial')));
await tester.tapAt(Offset(center.dx - 10, center.dy));
由于表盘接受靠近中心的点击,在这种情况下,10 的偏移量足以选择 9。
关于flutter - 如何从集成测试中选择时间选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60375623/