【问题标题】:How to mimic a pressing ENTER on a TextField in Flutter Tests如何在 Flutter 测试中模拟 TextField 上的按 ENTER
【发布时间】:2019-06-29 12:28:03
【问题描述】:

鉴于tester.enterText 将允许我在颤振测试中在TextField 上输入文本,我将如何模拟按下android 键盘上的DONE 键或按下ENTER 在文本字段内的键盘上?

这也相当于检查是否按下了 IOS/android 键盘上的 DONE 按钮

【问题讨论】:

  • 接受你自己的答案作为这个问题的答案 :) 这对我帮助很大

标签: dart flutter flutter-test


【解决方案1】:

我在flutter repo测试中找到了实现@https://github.com/flutter/flutter/blob/7e445a17324ee7e615ef2c886d0cb9407853f338/packages/flutter/test/widgets/editable_text_test.dart#L558

例如:await tester.testTextInput.receiveAction(TextInputAction.done);

// example
await tester.enterText(find.byKey(new Key('txtFieldKey')), 'Hello World!');
await tester.testTextInput.receiveAction(TextInputAction.done);
await tester.pump();

【讨论】:

  • 这显然适用于此,但对于集成测试,这将不起作用,这里有一个未解决的问题github.com/flutter/flutter/issues/9383
  • @xpeldev 不过,在集成测试中没有解决方案:(
  • 使用 integration_test 包,此实现有效。
  • 伟大的工作。这有帮助..
猜你喜欢
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 2021-03-21
  • 2018-07-21
  • 1970-01-01
  • 2012-01-22
  • 2015-05-11
  • 2019-05-19
相关资源
最近更新 更多