Android Firebase:Robo 脚本在位置权限对话框中失败
Posted
技术标签:
【中文标题】Android Firebase:Robo 脚本在位置权限对话框中失败【英文标题】:Android Firebase: Robo script failing on Location Permissions Dialog 【发布时间】:2019-12-11 07:42:16 【问题描述】:我录制的 Firebase Robo 脚本因系统对话框而失败,例如“为了获得更好的体验,请打开设备位置”对话框。
录制脚本时显示:
请求的权限
android.permissions.ACCESS_FINE_LOCATION android.permissions.ACCESS_COARSE_LOCATION
但它不会记录我在相关权限对话框或“打开设备位置”对话框中单击“确定”。
如果我删除需要权限的代码,脚本会起作用,但由于该功能是我的应用程序不可或缺的一部分,因此删除依赖位置的代码会大大降低脚本的实用性。
我希望 Robo 脚本可以捕获我从权限对话框中选择的选项,或者测试运行程序会自动处理接受权限。必须有某种方法可以解决这个问题,否则许多应用程序无法彻底测试
2017 年的类似问题没有答案:RoboScript not able click Enable Location OK button in Firebase Testlab
当这些类型的对话框被触发时,如何让脚本不中断?
【问题讨论】:
我建议您在 Firebase Community Slack 的频道 #test-lab 中提出这个问题。那里的开发人员将能够查看失败的特定测试。您也可以通过firebase.google.com/support 提交支持案例。 谢谢。我不知道那个组 - 我会尝试一下 【参考方案1】:在权限请求对话框中单击“确定”不应记录为 Roboscript 的一部分。相反,Roboscript 会记录请求了这些权限,并在您的录制会话中按预期进行。在重播时,Robo 应该在抓取开始时授予所有这些权限,这样这些对话框就不会在抓取期间弹出。显然,这些权限未按预期授予,并且弹出的这些对话框破坏了记录的 Roboscript 的执行。如需进一步诊断,请遵循 Tony 的建议。谢谢!
【讨论】:
顺便问一下,您在哪个 API 级别上记录了您的 Roboscript,您在 Firebase 测试实验室中的哪个 API 级别上重放了显示权限请求对话框的记录的 Roboscript? 28 用于录制; 26、27 和 28 用于跑步。还尝试了物理和虚拟设备来运行。 感谢您的更新。鉴于这些 API 级别,应在爬网开始之前授予所有权限,因此您观察到的是一个错误。请提交相应的错误报告。谢谢! @StanislavNegara 您是否有任何文档的链接可以解释/确认“Robo 应该在抓取开始时授予所有这些权限”? 我不确定我们是否在任何公共文档中明确提及这一点,但这是默认的 Robo 行为。如果您发现不是这种情况的任何示例,请提交错误。谢谢!以上是关于Android Firebase:Robo 脚本在位置权限对话框中失败的主要内容,如果未能解决你的问题,请参考以下文章
php Jason用于从Pantheon中提取数据库和文件的Robo脚本
python Python脚本通过Firebase云消息传递将可升级包的推送通知发送到iOS / Android。
php 简单的PHP FireBase(FCM)脚本,显示如何发送Android推送通知。请务必使用prope替换SERVER_API_ACCESS_KEY