我想在virtualbox上的虚拟机中运行safari selenium测试。
我在虚拟框内运行了macOS Sierra 10.12。教程说你需要运行
的/ usr /斌/ safaridriver
一次,授权它。我做到了当我通过虚拟框的GUI在终端启动它们时,测试运行得很好。但是,当我ssh到那台虚拟机器时,我总是被要求输入密码。当我无法提供密码时,运行webdriver-manager / selenium独立时会出现问题。
Vbox:Safari 10.0,macOS Sierra 10.12
答案 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。