3

通常我将 Key: ValueKey 放在我想在我的测试用例中找到以进行测试的颤振元素中,但是这个特定元素已经有一个 globalKey。那么,我应该使用什么来查找元素中使用的 globalkey 呢?

值键

key: ValueKey('nameField')

在测试用例 => final nameField = find.byValueKey('nameField')

全局键

final LabeledGlobalKey<FormFieldState<String>> _passwordField = LabeledGlobalKey<FormFieldState<String>>("passwordFieldKey")

key: _passwordField

在测试用例 => final passwordField = find.???('???')

4

1 回答 1

0

我认为不可能找到a GlobalKeys(我曾经用来查找某些小部件的位置),但是您可以找到的是Keys。所以我所做的是:将我必须在测试中找到的小部件包装为具有GlobalKey.

GlobalKey someKeyName = GlobalKey();

Container(
    key: someKeyName,
    child: CustomButton(
      key: Key('Key that I would look for in my Integration Test'),
      child: Text('Press Me'),
    ),
);

我不确定是什么LabeledGlobalKey<FormFieldState<String>>,但希望这项工作能帮助您解决问题。

于 2021-06-30T20:29:12.073 回答