flutter - 如何从集成测试中选择时间选择器

标签 flutter android-timepicker

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

flutter widget tree

最佳答案

从 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/

相关文章:

flutter - 键盘取消Modal中的SafeArea

android - 如何比较android中的开始时间和结束时间?

android - 如何根据android中的时区选择转换时间?

android - 时间选择器对话框 : Clicking "Cancel" button calls onTimeSet() method

android - 如何在第一次单击时出现edittext上的TimePickerDialog

flutter - 类型 'List<Widget?>' 不是类型转换中类型 'List<Widget>' 的子类型

flutter - 为两个文本小部件依次创建幻灯片动画的最佳方法是什么? flutter ?

android - 如何关闭 TimePicker 的键盘图标?

ios - 使用 iOS swift 代码访问 flutter assets

flutter - 升级flutter sdk后卡住了安装build\app\outputs\apk\app.apk…