“允许通知”元素在使用 Appium 自动化时不出现,而一切都手动工作

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

我正在使用 Robot Framework 和 Appium 对移动应用程序进行 E2E 测试自动化。启动应用程序时的第一件事是允许应用程序发送通知、允许调用权限、允许它查看联系人等。测试脚本应该处理这些通知。每次测试后,Teardown 都会清除数据和缓存,因此应用程序设置会被重置。

Android 12 没有问题,测试运行良好。但是,在 Android 13 中,通知的权限策略发生了变化,并且在 Android 13 设备的应用程序中引入了新的提示。启动应用程序时,“允许通知”提示应该是第一个出现的。之后是调用权限等。

手动测试时,一切正常。通知提示会按原样出现并且可以与之交互。

但是通过自动化运行测试时,似乎没有出现提示(而是第一个提示是 Calls Permissions 一个,应该是第二个)。当通知应该与向下滑动菜单中的这些通知进行交互时,通知仍处于阻止状态,这会导致测试失败。如果没有关键字来处理 Allow Notifications 提示,测试应该会立即失败,但事实并非如此,这让我怀疑它根本就没有出现。

问题是为什么?

我尝试从 Android 本机设置手动启用通知中间测试,这导致测试正常运行,测试能够与通知交互。我还尝试通过在不同阶段使用 Sleep 将暂停引入执行。

是否有什么原因导致在使用自动化时不出现通知提示,而在手动使用应用程序时正常运行?

android automated-tests appium robotframework android-notifications
1个回答
0
投票

我通过亚行发出命令以授予发送通知的权限解决了这个问题:

OperatingSystem.Run adb -s ${phone['udid']} shell pm grant android.permission.POST_NOTIFICATIONS

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