问题标签 [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 投票
0 回答
97 浏览

flutter - 是否可以在 CI/CD 工具或远程服务器上自动化 Flutter Gherkin 测试自动化?

我已经使用flutter gherkin和cucumber使用flutter_gherking库在flutter中实现了自动化测试。我不确定是否可以在任何 CI/CD 工具(即 codemagic 或其他任何地方)中运行所有这些集成测试。目标是在将远程系统推向生产之前自动化并运行远程系统中的所有集成测试。任何解决方法或步骤将不胜感激。

0 投票
0 回答
361 浏览

flutter - 从 Flutter_driver 迁移到 integration_test 包

我正在从flutter_driver迁移到integration_test包,因为这个页面表明:https ://flutter.dev/docs/testing/integration-tests

但是我发现使用 integration_test 包( https://github.com/flutter/flutter/tree/master/packages/integration_test#integration_test )编写测试的过程非常缓慢。

我最初使用 flutter_driver 做的是在 VSCode 中有一个 .vscode\launch.json 中的文件,其中包含以下配置:

我以前先运行 "Integration Tests: Launch App" ,然后复制 "127.0.0.1:54315/5YvmessTCI0="

从调试控制台:

然后将其粘贴到 launch.json 文件的“env”对象“集成测试:启动驱动程序”配置中

之后,我只是在“集成测试:启动驱动程序”配置的“程序”对象中添加了我想调试的测试的名称。

最后,我曾经在“集成测试:启动应用程序”运行时运行“集成测试:启动驱动程序”。

这使我可以在继续运行测试的同时保持应用程序运行,而无需每次都构建 APK。它很快,因为只需要几秒钟即可运行 flutter_driver 步骤,这样您就可以查看您的步骤是否按预期工作。我还可以添加断点并调试我的测试。

问题是在迁移到 integration_test 包后,我无法实现这一点。每次我在测试中添加一个新步骤并且我想确保它按预期工作时,我都必须每次都构建 APK,这非常耗时。

将此配置添加到 launch.json :

运行“集成测试:运行测试”可用于添加断点并运行测试。但是如果我在一个步骤中进行了更改,并且我想查看它是否按预期运行,我需要再次运行它,并且构建它需要很多时间。

有没有办法像我对 flutter_driver 那样调试 integration_test 包测试?目标是让应用程序运行并能够运行 integration_test 包测试,而不必每次都构建 APK,就像我们过去使用 flutter_driver 测试所做的那样

0 投票
0 回答
15 浏览

flutter-test - Flutter 联合插件:如何在每次集成测试后销毁插件

我正在开发一个颤振联合插件,如此处所述。我的集成测试看起来像这样(简化示例,仿照url_launcher 插件集成测试):

由于插件在被测活动创建时注册和初始化,在活动被销毁时被销毁,因此插件状态不会在测试之间重置。第二次测试会失败。

我知道我可以在插件中实现某种重置方法,但这不是我想要的。我正在寻找一种方法让测试框架重新创建活动或至少重新创建插件,以便插件在每个测试中都处于明确定义的状态。

0 投票
0 回答
19 浏览

flutter - 有没有办法在集成测试中重新启动应用程序,同时保留应用程序数据?

在测试中,我想模拟应用程序的终止和重新启动,以检查应用程序在使用前一个会话中的一些缓存数据启动时的行为。

有没有办法模拟这个?

0 投票
0 回答
433 浏览

flutter - 无法从 Flutter 集成测试响应中找出问题所在

我正在尝试运行/设置集成测试。我正在谷歌搜索返回的响应,但我不知道出了什么问题。

我有:一个integration_test包含文件的文件夹app_test.dart

包含test_driver文件的文件夹integration_test.dart

包含test文件的文件夹widget_test.dart

由于我的口味,这是我用来运行我的集成测试的:

flutter drive \ --driver=test_driver/integration_test.dart \ --target=integration_test/app_test.dart --flavor prod -t lib/main_prod.dart

我得到以下回复:

据我了解,它正在尝试连接到本地端口,但我无法弄清楚为什么该项目没有启用网络。

更新

这是错误,但它的描述性不足以告诉我代码中发生这种情况的位置。

在此处输入图像描述

从我所见,这是这一行: 没有注册请求数据扩展

它与未设置集成驱动程序或由于异步而可能无法工作有关。我环顾四周,我还没有遇到任何解决方案。

0 投票
1 回答
128 浏览

flutter - Flutter 集成测试引发错误“null check operator used on a null value”

这是错误截图: 在此处输入图像描述

当我执行此代码时,它正在运行自动化但给出错误并且测试失败。当我手动运行此应用程序时,仅在执行集成测试时才会出现此类错误。

请检查并告诉我这可能是什么解决方案。

提前致谢。

0 投票
2 回答
92 浏览

flutter - 如何在运行集成测试时指定构建变体?

我需要使用构建变体配置运行我的应用程序。像这样

我添加了一些integration_tests,用于运行我尝试使用此命令的那些

在运行测试时如何在此处指定我的构建变体?

0 投票
1 回答
197 浏览

flutter - 如何等到 Finder 在 Flutter 集成测试中显示下一个代码执行?

信息:
我创建了一个示例 Flutter 单元测试来测试登录屏幕,其中我有电子邮件和密码作为输入字段和一个登录按钮。

要求:
需要测试虚假案例,为此,我已按照以下步骤编写代码。

  1. 打开 main.dart
  2. 填写电子邮件和密码字段
  3. onTap 事件在登录按钮上完成。在这里将调用 API 并在屏幕上显示加载程序,直到 API 获得成功或失败响应。
  4. 需要检查是否显示失败对话框并显示消息。

问题/查询:
现在,当 API 调用时,我想等待加载器可见,直到加载器消失。所以,到目前为止,我只是手动延迟执行下一个代码,但我想让它动态化。那么,让我知道我们如何根据加载程序显示动态延迟?

代码:

0 投票
0 回答
56 浏览

flutter - Flutter firebase-auth集成测试signInWithCredential报错:调用者无权执行指定

我正在尝试在我的颤振应用程序上运行集成测试。我要测试的流程之一是登录流程。该应用程序中有一个 Firebase 电话号码身份验证。当我尝试调用 signInWithCredential 以使用测试电话号码和测试验证码登录时,出现错误:

看起来 Firebase 项目中配置的 SHA1 指纹与颤振驱动应用程序不匹配。也许我错了。我的问题是如何使用 firebase-auth 为应用程序运行集成测试。我对 SHA1 的看法是正确的——如何为颤振驱动程序应用程序设置歌唱配置?

0 投票
0 回答
66 浏览

flutter - Flutter 协同多设备集成测试

是否可以在颤振测试中从单个进程启动多个设备?我希望有一个单一的进程协调涉及多个设备的集成测试。

这是我希望能够运行的简单测试的示例。问题是我不知道如何创建第二个 WidgetTester:

这个问题突出了一种方法。在多个设备上进行 Flutter UI 测试(驱动)。这里的问题是我不知道如何通信/协调这两个设备。它们在不同的进程中独立运行。device1 如何告诉 device2 代码是什么?