运行safaridriver thorugh ssh总是要求输入密码

时间:2017-03-30 20:06:57

标签: selenium ssh virtualbox safaridriver

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

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

  

的/ usr /斌/ safaridriver

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

Vbox:Safari 10.0,macOS Sierra 10.12

2 个答案:

答案 0 :(得分:1)

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

当我在 selenium node 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"

调用这个脚本

答案 1 :(得分:0)

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

在Safari 11+上,safaridriver仅要求您运行safaridriver --enable,并且将在其余的登录会话中缓存身份验证。因此,您应该将此添加到登录到计算机的脚本中。

如果你有ssh并且没有运行窗口服务器,则有一个单独的问题,即safaridriver不起作用。目前没有解决方法 - 机器需要GUI会话来运行Safari和webdriver。