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

Mig*_*ran 2 flutter flutter-test

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

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

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

我怎样才能做到这一点?

我唯一的想法是使用tapAt值在滑块中的精确像素坐标,但似乎非常复杂。

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

Spo*_*nic 6

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

WidgetTester 具有“drag/dragFrom/dragUntilVisible”功能:

await tester.drag(find.byType(Slider), Offset(100, 0));
Run Code Online (Sandbox Code Playgroud)

这将拖动滑块 :)