RobotFramework - WebDriverException:消息:服务 /usr/bin/safaridriver 意外退出。状态代码为:1

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

我正在使用Robot Framework对我所工作的社会的产品执行一些测试。实际上,我的测试是在macOS机器上运行的。我可以在 Firefox 和 Chrome 上远程启动测试,一切正常。当我尝试在 Safari 上远程启动相同的测试时,出现此错误:

WebDriverException: Message: Service /usr/bin/safaridriver unexpectedly exited. Status code was: 1

我检查了控制台,当机器尝试启动 safaridriver 时出现这些错误:

authd         Fatal: interaction not allowed (kAuthorizationFlagInteractionAllowed not set)
safaridriver  Authorization failed with error -60007.
authd         copy_rights: authorization failed

我已经尝试过:我允许在 safari 浏览器上进行远程自动化,并在用户执行测试时启动它:

sudo safaridriver --enable

此外,如果我在屏幕共享中与 macOS 计算机连接并手动重现确切的行为,则一切正常,并且在 Safari 浏览器上启动测试。为了远程启动测试,我使用 Tomcat 服务器。

以下是我使用的工具的版本: Python 2.7.16 硒3.141.0 机器人框架3.0.2 macOS 莫哈维 10.14.6 Safari 14.0.1 (14610.2.11.51.10) (safaridriver 与其捆绑在一起)

我希望这些测试能够像在 Firefox 或 Chrome 上一样远程启动,我已经在这里查看了许多其他问题,但没有找到任何解决方案。 我是 macOS 上的新手,所以关于如何在 Mac 上授权进程,我一定缺少一些东西,任何帮助将不胜感激。

robotframework safaridriver
2个回答
1
投票

我找到了问题的解决方案,并将其发布在这里,以便如果有人遇到同样的问题可以尝试这个。

解决方案是我的 Tomcat 服务器是由没有显示权限的系统用户启动的,因此当我使用具有这些权限的用户(基本用户帐户)重新启动服务器时,safaridriver 可以启动并且工作正常。

事实上,这只是与 safaridriver 相关的问题,因为现在 safaridriver 与 Safari 捆绑在一起,所以我猜 Mac 在自己的二进制文件中添加了这种保护。


0
投票

我也遇到了同样的问题。我将操作系统升级到14.1.1后,它现在可以工作了。 升级后: 操作系统至 14.1.1 Safari 17.1 硒 4.15.2

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