Sierra 10.12.3, Safari 10.0.3, jruby 9.1.2.0, java 1.8.0_91
Manually this url https://fb-onair-ui-test.telescope.tv/?wid=c180a02401a1f871
works fine.
Running through Webdriver it hangs Safari with spinner while script times out looking for an element on the page.
When the query (/?wid=c180a02401a1f871) is removed a page saying to use url with the wid comes up both manually and through Wedriver (but there is no option to enter the wid and move on)
Am using Ruby bindings and Watir-webdriver wrapper.
To launch Safari:
@browser = Watir::Browser.new(:remote, :desired_capabilities => :'safari')
To go to the url:
@browser.goto url
I suspect I need to launch Safari differently to start with but need some guidance there.
Am new to the Mac.
pat
Here is script (mac_safari.rb) that reproduces the issue. It first opens the url without the query, waits a bit, then opens the full url, and waits a bit more.
require 'rubygems'
require 'watir-webdriver'
def get_open_port
server = TCPServer.new('127.0.0.1', 0)
port = server.addr[1]
server.close
port
end
server_dir = File.expand_path(File.join("~", "awetest", "shamisen", 'bin'))
selenium_server_path = "#{server_dir}/selenium-server-standalone.jar"
output = '> /dev/null 2>&1'
sleep Random.rand(100)/100.0
port = get_open_port
$server = IO.popen("java -jar #{selenium_server_path} -port #{port} \n")
sleep 10
client = Selenium::WebDriver::Remote::Http::Default.new
client.open_timeout = 300 # seconds, default is 60
caps = Selenium::WebDriver::Remote::Capabilities.safari(
'safariOptions' => {
'setUseTechnologyPreview' => true,
'setUseCleanSession' => true
},
'unexpectedAlertBehaviour' => 'dismiss',
'acceptSslCerts' => true
)
@browser = Watir::Browser.new :remote, :http_client => client, :url => "http://localhost:#{port}/wd/hub", :desired_capabilities => caps
@browser.driver.get('https://fb-onair-ui-test.telescope.tv')
sleep(15)
@browser.driver.get('https://fb-onair-ui-test.telescope.tv/?wid=c180a02401a1f871')
sleep(25)
@browser.quit
Process.kill 'INT', $server.pid # rescue nil