问题标签 [flutter-integration-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
300 浏览

flutter - 为什么在我的测试成功登录到我的 Flutter 应用程序后,我的集成测试中的小部件查找器无法找到小部件?

我正在尝试编写一些从登录尝试开始的集成测试,然后继续将应用程序导航到某个页面。登录尝试实际上成功了,但在那之后我尝试查找任何小部件失败了,所以我无法进一步导航。

登录页面后,应用程序会自动正确导航到应用程序中的下一页,但是我的测试脚本在该页面上找不到任何小部件,即使我可以在屏幕上的 android 模拟器中看到它们。

我的 app_test.dat 文件如下所示:

和我的 f 医生(我使用 fvm):

0 投票
0 回答
77 浏览

flutter - 在 Firefox 和 Safari 浏览器中运行 E2E Flutter integration_test 有官方支持吗?

根据运行 E2E integration_test 的 Flutter 官方文档,支持的浏览器是 chrome 和 edge 及其各自的驱动程序安装。Firefox、safari 正式不支持 Flutter Web 应用程序调试,当我列出连接的设备时显示“flutter devices”它并没有列出 Firefox,尽管我已经安装了它。所以我的问题是 Firefox 和 safari 浏览器是否支持运行 E2E integration_test(package) 及其各自的驱动程序安装?

试过:

  • 为 Chrome 和 Edge 浏览器启动并运行我的 Flutter Web 应用集成测试。
  • 我安装了 geckodriver 的 Firefox 浏览器。

如果可能的话,任何文档、参考资料将不胜感激。

0 投票
0 回答
47 浏览

flutter - 如何使用 integration_test 包在 Flutter 中使用 Multiple TestData 自动化登录功能?

在flutter integration_testing 中是否有更好的方法来测试具有多个测试数据的简单登录功能,而不是为不同的测试数据集编写不同的测试用例。

测试用例:

  1. '成功登录/注销'

  2. '使用空的用户名和密码登录'

  3. '只用空密码登录'

  4. '仅使用空用户名登录'

  5. '使用无效用户名、有效密码登录'

  6. '使用无效密码登录,有效用户名'

以下尝试的方法涉及在测试用例中重复的大量冗余代码库?

0 投票
0 回答
29 浏览

flutter - Flutter集成测试中访问Provider信息

我想在运行集成测试时访问我的应用程序中使用的提供商之一中的信息。

我找到了一些信息,但似乎没有用。我希望我能做这样的事情

然后在登录后我希望访问User存储在Provider诸如的模型的属性;user.verificationState.

例如

但我user的总是空的。

0 投票
0 回答
23 浏览

flutter - integration_test 允许支持在 Flutter-web 中自动化本机操作系统窗口

我正在使用包在 Dart 上为应用程序integration_test编写集成测试。flutter-web我有一个功能可以通过浏览器上传从操作系统中挑选的文档文件。经过多次谷歌搜索,我没有找到任何官方支持或解决方法来在下面附加的本机操作系统窗口下自动执行此操作。 在此处输入图像描述

这两个 GitHub 问题与它非常相关:

0 投票
0 回答
25 浏览

firebase - flutter + firebase:createUserWithEmailAndPassword() 创建用户,但在集成测试中不运行任何代码

我编写了一个集成测试来测试用户注册:

直到最后一次点击的步骤都没有问题。最后一次点击触发了一个 signUp() 函数,该函数实际上设法在 Firebase 中创建一个新用户。(我已检查 - 测试完成后存储用户 madness4@gmail.com)。

这是AuthService在 Firebase 中注册用户的函数:

这里User? user = authResult.user;永远不会调用该行(如果我放置断点 / 或使用 a ,它永远不会停在那里print()),但是我没有看到抛出任何异常并且测试通过了。

有谁知道我应该如何解决这个问题?

再次:

  • 用户是在实际的 firebase 身份验证数据库中创建的(但它没有运行 / 应用程序之后的代码没有关于登录用户的信息)
  • 如果我正常运行应用程序(而不是作为测试) - 一切正常
0 投票
1 回答
68 浏览

android - Flutter integration_test:如何模拟键盘操作以从 TextField() 中清除文本?

为flutter-web应用程序实现一些集成测试,其中我试图模拟键盘操作以清除TextField()的内容。就像我们对“完成”一样: await tester.testTextInput.receiveAction(TextInputAction.done);

知道怎么做吗?

0 投票
0 回答
23 浏览

flutter - 如何检查飞镖测试中的异常?

我期待函数NetworkException何时被调用,如果我在测试用例通过的情况下deleteUser编写。try-catch

但是当我在expect我的测试用例中写它时失败了。

在这里,我可以看到有些人提出了第二种解决方案。

0 投票
2 回答
33 浏览

flutter - 使用 tester.enterText 超过 2 次时 Flutter 集成测试失败

如果我运行此代码段:

或者这个:

它都有效。

但如果我运行三个:

测试将失败并产生此错误:

0 投票
0 回答
76 浏览

flutter - 如何从 Flutter 中的集成测试生成测试黄金文件

在 Flutter 中运行集成测试时是否可以生成测试黄金文件(图像)?

我能够在运行时生成黄金文件,flutter test --update-goldens而碰巧没有运行集成测试。

我的主要目标是能够在集成测试运行时从 Android 模拟器生成测试黄金文件(图像)。我尝试运行flutter test integration_test/app_test.dart --update-goldens,但不幸的是,我收到了有关具有只读访问权限的错误:

在此处输入图像描述

然后我尝试使用以下命令授予 READ 和 WRITE 访问权限flutter driver

在此处输入图像描述

但不幸的是,Flutter 驱动程序在我运行时跳过了生成或比较测试黄金文件(图像)的过程flutter drive --driver=test_driver/integration_test.dart --target=integration_test/app_test.dart

在此处输入图像描述

完整的源代码可在此处获得