问题
I would like to run safari selenium test in virtual machine on virtualbox.
I have running macOS Sierra 10.12 inside virtual box. Tutorials say that you need to run
/usr/bin/safaridriver
once, to authorise it. I did that. And tests run perfectly, when I start them in terminal through GUI of virtual box. But when I ssh to that virtual box machine, I always got asked for password. It is a problem when running webdriver-manager / selenium standalone, when I cannot provide password.
Vbox: Safari 10.0, macOS Sierra 10.12
回答1:
I have similar issue as stated above, I tried to run safaridriver --enable on Mac OS Sierra Safari 11 and I still got prompt to enter password.
Also when I run tests on selenium node and selenium hub which are started from terminal inside virtual box safari launches, however when I ssh to that virtual box machine to start the same process I get the following error
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'
workaround I found to overcome this issue is to create Applescript which will execute the script you desire and then execute this Applescript over ssh.
Apple Script
============
Tell Application "Terminal"
activate
set Shell to do Script "your script"
end Tell
now you can invoke this script over ssh osascript "${pathToScript}/run.scpt"
回答2:
This is a known issue in Safari 10 with no known workaround, except to use a terminal via the window server.
On Safari 11+, safaridriver only requires you to run safaridriver --enable
, and the authentication will be cached for the rest of the login session. So, you should just add this to your script that logs into the machine.
There is a separate issue that safaridriver does not work if you have ssh'd in and there is no window server running. There is no workaround for this at the moment–the machine needs a GUI session to run Safari and webdriver.
来源:https://stackoverflow.com/questions/43127411/running-safaridriver-thorugh-ssh-always-asks-password