According to the WebKit
documentation for Safari 10
:
"When running a WebDriver test in Safari, test execution is confined to special Automation windows that are isolated from normal browsing windows, user settings, and preferences. Automation windows are easy to recognize by their orange Smart Search field."
In that version of the browser I was able to run automation for Safari
without the 'glass pane' by doing:
var webdriver = require('selenium-webdriver'),
safari = require('selenium-webdriver/safari');
driver = new webdriver.Builder()
.forBrowser('safari')
.usingServer('http://localhost:4444/wd/hub') // this previous avoided the glass pane
.build();
I believe that the reason this worked was because starting the Webdriver
and using the Selenium
standalone server hub and SafariDriver
extension allowed this for remote automation as part of Selenium Grid
. It no longer seems to work in Safari 11
.
The statement in the documentation:
"The automaticInspection capability will preload the Web Inspector and JavaScript debugger in the background; to pause test execution and bring up Web Inspector’s Debugger tab, you can simply evaluate a debugger; statement in the test page."
Would be useful but I take that to mean that I need to add debugging statements to the source code, which is not something QA is empowered to do in my situation.
Is there a way to use Selenium
to automate testing in Safari 11
without the 'glass pane' AT ALL? Any reading I might need to do is welcomed; there are far too many problems that I am encountering when running in glass pane to make fixing each of those an efficient way forward.