使用Widget Test在Slider中选择值

时间:2019-07-25 06:57:14

标签: flutter flutter-test

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

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

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

我该怎么做?

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

为澄清起见,我询问有关https://flutter.dev/docs/cookbook/testing/widget/introduction

中所述的小部件测试的问题

2 个答案:

答案 0 :(得分:0)

滑块不是材质小部件吗?

我没关系,您应该测试Slider的工作方式,制造它的开发人员已经对其进行了测试。

如果要更改该值,只需将其设置为所需的任何值即可。

答案 1 :(得分:0)

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

WidgetTester具有功能'drag / dragFrom / dragUntilVisible':

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

这将拖动Slider:)