Flutter:通过自动化测试处理谷歌同意书

问题描述 投票:0回答:1

我的 Flutter 应用程序正在使用 google_mobile_ads 软件包和 Google 用户消息传递平台 (UMP) SDK,以便在应用程序启动后立即显示同意书。 我现在想使用以下方法测试我的应用程序:

  1. 本地:Flutterintegration_test包
  2. Google Play:发布前报告(Robo 脚本)
  3. 云:Firebase 测试实验室(Robo 脚本)

1)Flutter 集成_测试

  • 启用 UMP 后,我找不到使用 Integration_test 包单击“同意”按钮或同意书的任何其他元素的方法。与其他元素交互不是问题。

知道如何使用integration_test包处理同意书吗?

2) Google Play 发布前报告

  • 将应用程序上传到 Google Play 商店时,使用自动 Robo 测试的预发布报告向我显示了同意书所有可能视图的 10 张屏幕截图,但只有我的应用程序的一个屏幕,这令人沮丧。
  • 我上传的版本需要包含UMP,所以没有办法禁用同意书。
  • 但是我可以选择将 Robo 脚本添加/上传到 “测试 -> 预启动报告 -> 设置 -> 控制预启动报告的方式 探索您的应用程序”

我可以在 Google Play 控制台中添加什么样的 robo 脚本?还有其他方法可以处理吗?

3) Firebase 测试实验室

  • Google Play 实际上正在使用 Firebase 测试实验室,因此这种方法应该是相同的。使用“Robo 测试”选项,我得到与 Google Play 相同的结果,但我也可以使用“Robo 脚本”运行自定义测试。
  • 在 Robo 测试 -> 爬行图中我可以看到“ELEMENT_CLICK:Zusstimmen”(这意味着:用德语表示同意)
  • Robo 脚本示例需要“”resourceId”:”,我应该在那里放什么?

有一个简短的 Robo 脚本我可以用来执行这一单击吗?


TLDR:如何使用 Flutter 在自动化测试环境中处理 Google UMP 同意书?

google-play-console firebase-test-lab google-mobile-ads flutter-integration-test admob-cookieconsent
1个回答
0
投票

对于预发布报告和 Robo (Roboscript):除了使用资源 ID 之外,您还可以尝试 Roboscript 中的其他元素描述符之一来帮助 Robo 找到元素:https://firebase.google.com/docs/test -lab/android/robo-scripts-reference#element-descriptors

在该页面中,您还可以尝试使用

visionText
(OCR) 描述与元素交互。

这可能需要一些尝试和错误,因为 Robo 本身并不支持 Flutter。通常元素的资源 ID 是与元素交互的直接方式,但您可能需要专门为 Flutter 设置或获取此 ID。

© www.soinside.com 2019 - 2024. All rights reserved.