运行 通过 ssh 的 safaridriver 总是询问密码

Running safaridriver thorugh ssh always asks password

我想 运行 在 vi​​rtualbox 上的虚拟机中进行 safari selenium 测试。

我在虚拟框中安装了 运行ning macOS Sierra 10.12。教程说你需要 运行

/usr/bin/safaridriver

一次,授权。我做到了。当我通过虚拟框的 GUI 在终端中启动它们时,并完美地测试 运行。但是当我 ssh 到那台虚拟机器时,我总是被要求输入密码。当我无法提供密码时,运行独立使用 webdriver-manager / selenium 时出现问题。

Vbox:Safari 10.0、macOS Sierra 10.12

这是 Safari 10 中的一个已知问题,没有已知的解决方法,除非通过 window 服务器使用终端。

在 Safari 11+ 上,safaridriver 只需要您 运行 safaridriver --enable,身份验证将在登录会话的其余部分缓存。因此,您应该将其添加到登录机器的脚本中。

还有一个单独的问题,即如果您已通过 ssh 登录并且没有 window 服务器 运行ning,safaridriver 将无法工作。目前没有解决方法——机器需要一个 GUI 会话到 运行 Safari 和 webdriver。

我有与上述类似的问题,我尝试 运行 safaridriver --enable on Mac OS Sierra Safari 11 和我仍然收到输入密码的提示。

此外,当我 运行 测试 selenium nodeselenium hub 时,它们是从虚拟框 safari 中的终端启动的,但是,当我通过 ssh 连接到该虚拟机器以启动相同的过程时,出现以下错误

13:45:50 Exception is org.openqa.selenium.SessionNotCreatedException: Cannot establish new session 13:45:50 Build info: version: '3.5.3', revision: 'a88d25fe6b', time: '2017-08-29T12:54:15.039Z'

我发现解决此问题的解决方法是创建 Applescript,它将执行您想要的脚本,然后通过 ssh 执行此 Applescript。

Apple Script
============

    Tell Application "Terminal"
        activate
        set Shell to do Script "your script"
    end Tell

现在您可以通过 ssh osascript "${pathToScript}/run.scpt"

调用此脚本