问题标签 [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.
flutter - 异常:DriverError:Flutter 应用程序中的错误:执行点击时未捕获的扩展错误:受保护的函数冲突
我正在尝试在颤振应用程序上运行自动化测试,但是当应用程序等待主页加载时会生成以下错误
当第一个方法(WidgetController.tapAt)被调用时,这是堆栈:
当第一个方法(WidgetController.tapAt)被调用时,这是堆栈:
我的 home_screen 代码
我的 home_step 代码
android - 如何自动化 Flutter 应用程序
我正在做一个项目,我正在使用 webview 打开一个网站。我希望应用程序自动在必填字段中填写数据并通过读取 OTP 登录并根据各种事件执行各种操作,例如人们使用 Selenium 创建自动化。我看过一些关于使用颤振驱动程序进行颤振自动化的文章,但它们主要用于小部件测试,我并不清楚。
任何人都可以提供有关如何正确实施这一点的见解吗?
提前致谢。
flutter - 如何使用 FlutterDriver 检查应用程序状态?
我们正在使用 FlutterDriver 构建一些集成测试,并希望验证应用程序的状态。
它似乎flutter drive
在与应用程序完全不同的实例中运行,因此它们无法通过将数据存储在某些共享静态类中来间接通信。
是否有任何常见的策略将数据从应用程序传递到测试层?
我想到的一些想法:
- 我们可以将 json 值写入磁盘,但测试端真的可以读取它吗?
- 有一个隐藏的文本小部件,它显示了一个呈现状态的特殊 ui 视图,因此我们可以从测试层读取它
flutter - 使用`flutter drive`时如何捕获异常?
flutter drive
即使堆栈中存在运行时异常,使用我的测试仍然可以通过。
例如,将此代码添加到 build() 中,不会被检测到:
有谁知道我怎么能在这个错误上失败?
flutter-test - 我应该如何在颤振驱动程序测试中找到全局密钥?
通常我将 Key: ValueKey 放在我想在我的测试用例中找到以进行测试的颤振元素中,但是这个特定元素已经有一个 globalKey。那么,我应该使用什么来查找元素中使用的 globalkey 呢?
值键
key: ValueKey('nameField')
在测试用例 =>
final nameField = find.byValueKey('nameField')
全局键
final LabeledGlobalKey<FormFieldState<String>> _passwordField = LabeledGlobalKey<FormFieldState<String>>("passwordFieldKey")
key: _passwordField
在测试用例 =>
final passwordField = find.???('???')
flutter - 通过 Flutter 测试作业在 Azure DevOps 管道上运行 Flutter 驱动程序测试
我想通过颤振测试作业在 devops 上运行颤振驱动程序测试。我可以在安装在 devops 服务器上的模拟器上运行测试吗?我尝试
flutter drive --target=test_driver/app.dart
在颤振安装作业之后添加颤振命令作业,但它没有工作
flutter - Flutter Driver:一个接一个地运行标签或功能
我正在使用 flutter_driver 和 flutter_gherkin 包为我的应用程序编写测试。我写了一些功能。例如我有这两个特点:
login.feature
:
logout
现在为了测试该logout
功能,我需要先运行该login
功能,以便我可以在主视图中。所以第一个问题是:
1.如何按以下顺序运行这些场景:login
-> logout
?login
(没有将场景复制到logout
功能)
第一个问题是关于如何一个接一个地运行功能。第二个问题是关于标签的同一件事。如您所见,我有login
,@correctLogin
和logout
标签。所以第二个问题是:
2. 如何按以下顺序运行标签:@correctLogin
-> logout
?(请注意第一个login
功能场景没有@correctLogin
标签。我也想将此correctLogin
标签与许多其他测试一起使用,因此添加标签logout
不是一个好主意)
任何帮助将不胜感激。
android - 颤振驱动程序和集成测试包不适用于特定的颤振版本和特定的包。(颤振驱动程序依赖问题)
我使用flutter-driver
包在应用程序的主要代码中实现 UI 测试,flutter 版本是1.22.6
.
但是当我们将flutter版本升级到2.0.2
它时,会导致和我们的包之间发生冲突问题,flutter-driver
例如easy_localization 3.0.0
和flutter_launcher_icons 0.9.0
包也出现了同样的问题integration-test
。
错误是
因为来自 sdk 的 flutter_driver 的每个版本都依赖于 args 1.6.0 而 easy_localization 3.0.0 依赖于 args ^2.0.0,所以来自 sdk 的 flutter_driver 与 easy_localization 3.0.0 不兼容。并且因为没有任何版本的easy_localization 匹配>3.0.0 <4.0.0,所以来自sdk 的flutter_driver 与easy_localization ^3.0.0 不兼容。所以,因为 bluedeliveryapp 依赖于来自 sdk 的 easy_localization ^3.0.0 和 flutter_driver any,版本解析失败。pub get failed (1; 所以,因为 bluedeliveryapp 依赖于来自 sdk 的 easy_localization ^3.0.0 和 flutter_driver any,版本解决失败。)
我搜索了这个错误,解决方案是flutter-upgrade
最新版本2.2.3
但我不能升级flutter版本,2.0.2
因为我们使用付费工具here sdk 4.7.2
,它只依赖于2.0.2
flutter版本,所以我无法升级我的flutter版本和here sdk
版本。
如果这种方式无效,我可以在不使用的情况下测试颤振应用程序flutter-driver
吗integration test
?
有什么帮助吗?
flutter - 在颤振驱动测试中使用 easy_localisation 的 Intl
目前我正在为颤振应用程序编写集成测试,我需要测试语言选择小部件。在点击某种语言后,我需要验证语言环境是否发生了变化,所以我需要获取easy_localisation
库的当前语言环境。根据这篇文章,我尝试直接从 调用它Intl.getCurrentLocale
,但它会引发错误,因为 dart:ui 不能用于颤振驱动测试。那么如何在颤振驱动测试中获得当前的语言环境?PS:不是我想要的。Platform.defaultLocale
flutter - 应用程序崩溃后 Flutter Driver 继续运行测试
我正在实现需要应用程序从本机崩溃的组件测试——因为只有在崩溃之后,底层模块才会生成包含预期变量的崩溃报告。问题是如果应用程序崩溃/或重新启动,颤振驱动程序将无法继续工作。
如何让 Flutter 驱动程序预测到应用程序会崩溃并跳过它?这应该是 Flutter Driver 的功能请求吗?
注意:类似于 Appium 所做的事情(Appium 具有此功能)。