使用小部件测试在滑块中选择值

Posted

技术标签:

【中文标题】使用小部件测试在滑块中选择值【英文标题】:Selecting value in Slider with Widget Test 【发布时间】:2019-12-03 09:07:18 【问题描述】:

我有一个包含一系列滑块的屏幕,用户可以在其中选择是否同意/不同意某事,例如:

Slider(
  key: Key(questionId),
  min: 0,
  max: 5,
  divisions: 5,
  value: _value,
  onChanged: (value) 
     setState(() 
       _value = value;
     );
  ,
),

我目前正在使用testWidgets 实现 UI 测试,其中用户在 Sliders 中选择多个值,然后在用户单击按钮时存储,我希望能够选择一个值,例如例如,将滑块滑动到值“2”。

我该怎么做?

我唯一的想法是将tapAt 与滑块中值所在的确切像素坐标一起使用,但操作起来似乎非常复杂。

为澄清起见,我在询问小部件测试,如下所述:https://flutter.dev/docs/cookbook/testing/widget/introduction

【问题讨论】:

【参考方案1】:

可能不再需要它,但由于这是我自己寻找答案时发现的唯一相关问题,因此这是我的解决方案:

WidgetTester 有函数'drag/dragFrom/dragUntilVisible':

await tester.drag(find.byType(Slider), Offset(100, 0));

这将拖动滑块:)

【讨论】:

以上是关于使用小部件测试在滑块中选择值的主要内容,如果未能解决你的问题,请参考以下文章

流光小部件依赖

如何在一个滑块上添加多个滑块? #扑

如何在颤动的滑块中填充拇指周围的颜色

带有刻度文本标签的 Qt 滑块小部件

Qt5,X11,libxcb。滑块和小部件的其他部分太小

提取的小部件内的颤振滑块