如何在 Flutter 测试中模拟 TextField 上的按 ENTER
Posted
技术标签:
【中文标题】如何在 Flutter 测试中模拟 TextField 上的按 ENTER【英文标题】:How to mimic a pressing ENTER on a TextField in Flutter Tests 【发布时间】:2019-06-29 12:28:03 【问题描述】:鉴于tester.enterText
将允许我在颤振测试中在TextField
上输入文本,我将如何模拟按下android 键盘上的DONE 键或按下ENTER 在文本字段内的键盘上?
这也相当于检查是否按下了 ios/android 键盘上的 DONE 按钮
【问题讨论】:
接受你自己的答案作为这个问题的答案 :) 这对我帮助很大 【参考方案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 包,此实现有效。 伟大的工作。这有帮助..以上是关于如何在 Flutter 测试中模拟 TextField 上的按 ENTER的主要内容,如果未能解决你的问题,请参考以下文章
如何在开发过程中同时使用 Android 和 IOS 模拟器来测试我的 Flutter 应用程序?
如何在 Flutter 应用程序中连接到本地实时数据库模拟器?