Flutter - 如何在集成测试中获取小部件计数

Wat*_*al 6 integration-testing flutter

我怎样才能得到小部件计数

final SerializableFinder finder = find.byType('MyWidget');
await driver.tap(finder);
Run Code Online (Sandbox Code Playgroud)

但是 MyWidget 可能不止一个,
那会抛出异常

Luc*_*ano 4

您将需要使用一些属性来查找所需的小部件。例如,Key为每个小部件添加 ,以便更轻松地找到您需要的小部件:

...MyWidget(key: Key('myWidget1'))...

因此,通过 key 找到它:

find.byKey(Key('myWidget1'))

如果您想查找小部件数量,可以使用以下命令:

final finder = find.byType(MyWidget, skipOffstage: false); // Without quotes!
final count = tester.widgetList<MyWidget>(finder).length;
Run Code Online (Sandbox Code Playgroud)