1

我想在 virtualbox 上的虚拟机中运行 safari selenium 测试。

我在虚拟框中运行 macOS Sierra 10.12。教程说需要运行

/usr/bin/safaridriver

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

Vbox:Safari 10.0、macOS Sierra 10.12

4

2 回答 2

1

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

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

如果您已进入 ssh 并且没有运行窗口服务器,则 safaridriver 将无法工作,还有一个单独的问题。目前没有解决方法——机器需要一个 GUI 会话来运行 Safari 和 webdriver。

于 2017-08-10T18:31:02.360 回答
1

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

此外,当我在selenium 节点selenium hub上运行测试时,这些测试是从虚拟盒 safari 启动中的终端启动的,但是当我 ssh 到该虚拟盒机器以启动相同的进程时,我收到以下错误

13:45:50 异常是 org.openqa.selenium.SessionNotCreatedException:无法建立新会话 13:45:50 构建信息:版本:'3.5.3',修订:'a88d25fe6b',时间:'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" 调用此脚本

于 2017-09-26T22:49:54.937 回答