【问题标题】:Running safaridriver thorugh ssh always asks password通过 ssh 运行 safari 驱动器总是询问密码
【发布时间】:2017-03-30 20:06:56
【问题描述】:

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

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

/usr/bin/safaridriver

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

Vbox:Safari 10.0、macOS Sierra 10.12

【问题讨论】:

    标签: selenium ssh virtualbox safaridriver


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      此外,当我在 selenium nodeselenium 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" 调用此脚本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-01
        • 1970-01-01
        • 2019-03-07
        • 2016-09-06
        • 2013-01-19
        • 2021-04-03
        • 2014-09-14
        • 1970-01-01
        相关资源
        最近更新 更多