问题标签 [flutterdriver]

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 投票
1 回答
2121 浏览

flutter - Flutter驱动程序如何等待特定元素具有特定文本

我在颤振驱动程序测试中体验到片状。

以下代码:

它有大约 90% 的成功率,但是 10% 的时间我期待“字段包含不受支持的字符。”,但我仍然有“字段不能为空”。

代码如何工作 - TextEditingController 侦听器正在向 ViewModel 报告更改。ViewModel 有一个流以字符串或 null 的形式提供错误,View 使用 StreamBuilder 显示或隐藏错误标签。

为了缓解这个问题,我引入了单帧延迟(17 毫秒)——它有点帮助,但仍然不稳定。我可以延长延迟,但这会带来测试速度较慢的成本。我找到了一种可以使这个测试更好的方法:

但是,我不想只在屏幕上找到任何文本,我想专门检查 first-name-error,因为同一屏幕上还有 last-name-error。

0 投票
2 回答
299 浏览

android - 具有自定义 OTP 验证和本机功能的 Flutter 驱动程序 (Toast)

我正在使用颤振来开发应用程序。现在停留在测试用例上,

我参考了颤振驱动程序进行测试,它对于简单的 UI 和流程运行良好。

我想通过登录部分,并且那里有一个 OTP 验证部分,我如何通过此屏幕,因为我必须输入将在验证时收到的 pin。

当我尝试检查像 toast 这样的本机函数时(我正在使用一个库:FlutterToast),它没有捕捉到 UI 的变化。我试着用文字捕捉

参考链接:

  1. https://blog.codemagic.io/integration-tests-codemagic/
  2. https://medium.com/ionicfirebaseapp/an-introduction-to-integration-testing-for-flutter-app-b7d2b2af1739
0 投票
0 回答
66 浏览

flutter - Flutter Driver-如何在失败时自动重新运行测试用例?

有没有办法在像 Testng 或 Junit 这样的 Flutter 驱动程序(集成测试)上重新运行失败的测试用例?

0 投票
1 回答
149 浏览

android-testing - Flutter 驱动程序如何与 Android 配合使用?

在 android world 中使用 ADB 运行 UI 测试,你需要执行这个命令

但在运行此命令之前,您需要将您的测试包和主应用程序 Android 包文件(.apk 文件)安装到您当前的 Android 设备或模拟器,更多信息在这里

通常,APK 包名称将采用以下格式:

  • 主APK:com.tarek360.sample
  • 测试APK:com.tarek360.sample.test

但是在 Flutter 世界中,当我运行 flutter drive 时,例如,以下命令:

我只看到安装了主 APK ,我的设备上没有安装任何测试 APK,我想知道 Flutter Driver 如何与 Android 一起使用,这对我来说很重要,因为我有非常定制的 CI 并且我构建与测试运行程序环境完全不同的环境中的 APK。

0 投票
1 回答
105 浏览

android - 在颤振驱动程序中获取屏幕上的元素绝对坐标

有没有办法在颤动中获取屏幕上元素的绝对坐标?我正在按键查找元素,但我还需要它的坐标(或至少在中心)。我发现颤振驱动程序有一些方法可以解决这个问题,比如:

但看起来返回值是相对于父元素的。

这两种方法都返回相同的坐标。

0 投票
2 回答
559 浏览

flutter - 使用 flutter_driver 查找颤振三明治菜单按钮

使用 flutter_driver 查找颤振三明治菜单按钮

待识别按钮

0 投票
0 回答
112 浏览

flutter - Listener or rule for flutter_driver tests, to make automatically screenshot, if any one test failed

Hello!

There is huge trouble with taking automatically screenshot in flutter, if any test failed in test suite. In general I mean the same solution as it working in JUnit or TestNG. Also I'm tried to wrap all test cases in try/catch, but it didn't work properly... Please help if have any idea how to solve it. Thanks in advance)

For example

In JUnit it's:

In TestNG it's:

0 投票
1 回答
1447 浏览

docker - 将 Flutter ui 测试与 docker 集成:在 headless chrome 上进行驱动测试

我需要将颤振测试驱动集成到 GitlabCI 中。我使用 chrome 作为设备创建 docker 容器的最简单方法(我使用 GitlabCI,但如果您使用纯 Docker 或 CircleCI 或 TravisCI 或进入 AWS 的某些管道或许多其他方式,您会遇到同样的问题)。但我得到这个错误:

完整的例子在这里。要复制问题,请执行以下操作:

有趣的文件如下:

  • Dockerfile:
  • run_test_drive.sh:
  • 码头工人-compose.yml
0 投票
1 回答
184 浏览

flutter - 你知道任何 dart 开发工具可以正确查看从 dart VM 导出的时间线信息吗?

我正在尝试为我们的应用程序创建自动性能分析测试。目前 dart 允许收集 cpu 样本和时间线信息并将其转储到 json 文件中。例子:

但是只能在 chrome 开发人员工具中查看 timeline.json 文件,这些工具没有提供有关 dart 执行的足够信息。我正在寻找能够为我提供与天文台网页相同的功能但具有导入main.timeline.json结果的东西。你知道这样的事吗?

理想情况下,我想打开 Observatory 页面并将这个时间线上传到那里,并能够看到时间线、cpu 表、调用树、浏览已执行的代码并查看哪些部分未执行等。好吧,做我能做的所有事情为实时虚拟机运行的天文台。你有什么工具吗?

问题 2:为什么在这段代码中我有 cpuSamples.samples 空列表,而 cpuSamples.functions 已完全填充?

问题 3:为什么 chrome 开发工具能够使用上面代码中的转储查看我的应用程序函数名称,而 dart 开发工具无法读取这些并引用动态库中的编码函数名称(我的应用程序的编译 .so 文件)。该应用程序现在以 --debug 模式运行,因为我没有物理设备 ATM

0 投票
1 回答
229 浏览

flutter - Flutter Driver(或 Silenium/Ghost Inspector)的高级功能

寻找 Flutter 的 UI 集成测试策略。我们很想使用 Silenium/Ghost Inspector,但由于 Flutter 中缺少 html id 或 CSS 类(为 Flutter Web 应用程序添加 id 或 name 属性或其他识别方式?),这似乎不切实际。或者有没有人找到解决方法?

与此同时,Flutter Driver 只有非常基本的文档,用于简单的测试,比如找到一个按钮并按下按钮。任何人都知道我是否可以执行其他操作,例如导航到特定页面(例如使用 # url 片段)、测试指向外部站点的链接、检查页面的视觉设置与图像以及其他此类测试Silenium等中的标准。

谢谢!!