我想从表单的DropdownButton中选择一个条目。我设法使用以下方法点击了按钮:
await driver.tap(find.byValueKey('object_type'));
我现在如何找到条目?使用数据库中的值动态生成DropdownMenuItem条目。我认为为每个值设置一个键很尴尬,所以我尝试了以下操作:
await driver.tap(find.byValueKey('object_type'));
await driver.waitFor(find.text('Car'));
await driver.tap(find.text('Car'));
但是,这在我超时时不起作用。
答案 0 :(得分:0)
我也遇到了同样的问题,但是我可以使用下面的代码解决问题
final drop = find.byValueKey('object_type');
// First, tap the dropdown button.
await driver.tap(drop);
await driver.tap(find.text('Car'));
expect(await driver.getText(find.text('Car')), isNotNull);
假设下拉列表中有大量数据,那么我们需要向下滚动下拉列表并搜索期望值。
final SerializableFinder dropFinder = find.byValueKey('object_type');
await driver.scroll(dropFinder , 0, -200, Duration(milliseconds: 3000));
await driver.tap(find.text('Car'));
expect(await driver.getText(find.text('Car')), isNotNull);