Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Watir support for Edge browser #480

Closed
ambikashri opened this issue Oct 4, 2016 · 6 comments
Closed

Watir support for Edge browser #480

ambikashri opened this issue Oct 4, 2016 · 6 comments

Comments

@ambikashri
Copy link

I am trying to run my script in Edge browser using watir and selenium grid 2.53.1 . On running the grid console shows that the edge browser has got allocated, but it doesnt run any of the test.

It throws the below error

"["[remote server] sun.reflect.NativeConstructorAccessorImpl():-2:in newInstance0'\", \"[remote server] sun.reflect.NativeConstructorAccessorImpl():-1:innewInstance'", "[remote server] sun.reflect.DelegatingConstructorAccessorImpl():-1:in newInstance'\", \"[remote server] java.lang.reflect.Constructor():-1:innewInstance'", "[remote server] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java):206:in createThrowable'\", \"[remote server] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java):158:inthrowIfResponseFailed'", "[remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):678:in execute'\", \"[remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):249:instartSession'", "[remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):131:in <init>'\", \"[remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):144:in'", "[remote server] org.openqa.selenium.edge.EdgeDriver(EdgeDriver.java):152:in <init>'\", \"[remote server] org.openqa.selenium.edge.EdgeDriver(EdgeDriver.java):120:in'", "[remote server] sun.reflect.NativeConstructorAccessorImpl():-2:in newInstance0'\", \"[remote server] sun.reflect.NativeConstructorAccessorImpl():-1:innewInstance'", "[remote server] sun.reflect.DelegatingConstructorAccessorImpl():-1:in newInstance'\", \"[remote server] java.lang.reflect.Constructor():-1:innewInstance'", "[remote server] org.openqa.selenium.remote.server.DefaultDriverProvider(DefaultDriverProvider.java):103:in callConstructor'\", \"[remote server] org.openqa.selenium.remote.server.DefaultDriverProvider(DefaultDriverProvider.java):97:innewInstance'", "[remote server] org.openqa.selenium.remote.server.DefaultDriverFactory(DefaultDriverFactory.java):60:in newInstance'\", \"[remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserCreator(DefaultSession.java):222:incall'", "[remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserCreator(DefaultSession.java):1:in call'\", \"[remote server] java.util.concurrent.FutureTask():-1:inrun'", "[remote server] org.openqa.selenium.remote.server.DefaultSession$1(DefaultSession.java):176:in run'\", \"[remote server] java.util.concurrent.ThreadPoolExecutor():-1:inrunWorker'", "[remote server] java.util.concurrent.ThreadPoolExecutor$Worker():-1:in run'\", \"[remote server] java.lang.Thread():-1:inrun'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/response.rb:70:in assert_ok'\", \"C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/response.rb:34:ininitialize'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/http/common.rb:78:in new'\", \"C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/http/common.rb:78:increate_response'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/http/default.rb:90:in request'\", \"C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/http/common.rb:59:incall'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/bridge.rb:649:in raw_execute'\", \"C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/bridge.rb:123:increate_session'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/remote/bridge.rb:87:in initialize'\", \"C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/driver.rb:59:innew'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/driver.rb:59:in for'\", \"C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver.rb:84:infor'", "C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver/browser.rb:46:in initialize'\", \"C:/Users/xyz/codes/ruby/lib/ci_utilities.rb:246:innew'", "C:/Users/xyz/codes/ruby/lib/ci_utilities.rb:246:in block in assign_browser'\", \"C:/Users/xyz/codes/ruby/lib/ci_utilities.rb:243:ineach'", "C:/Users/xyz/codes/ruby/lib/ci_utilities.rb:243:in assign_browser'\", \"C:/Users/xyz/codes/ruby/vdeck/registration/hosting_registration.rb:90:in

'"]"
"Unknown error (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 7.06 seconds\nBuild info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'\nSystem info: host: 'CPU1157', ip: '10.0.1.14', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_31'\nDriver info: org.openqa.selenium.edge.EdgeDriver (org.openqa.selenium.WebDriverException)"

Currently I haven't mentioned any browser capabilities.

if opts['browser_selection'] =~ /edge/i
      p 'edge'
      browser_capabilities[:browserName] = 'MicrosoftEdge'
end

browser = Watir::Browser.new(:remote,
                   :url => "http://#{hub}:4444/wd/hub",
                  :desired_capabilities => browser_capabilities )`

Selenium hub and node are configured as below

REM Settings as a hub
start java -jar selenium-server-standalone-2.53.1.jar -role hub -port 4444 -DPOOL_MAX=512

REM Setting as a node
start java -Dwebdriver.chrome.driver=C:\seleniumgrid\chromedriver.exe -Dwebdriver.edge.driver=C:\seleniumgrid\MicrosoftWebDriver.exe -Dwebdriver.ie.driver=C:\seleniumgrid\IEDriverServer.exe -jar selenium-server-standalone-2.53.1.jar -role node -port 5556 -hub http://localhost:4444/grid/register -browser browserName=MicrosoftEdge,platform=WINDOWS,maxInstances=2 -browserTimeout 500 -browser browserName="internet explorer",version=11,maxInstances=2,platform=WINDOWS -browser browserName=chrome,maxInstances=2,platform=WINDOWS -browser browserName=firefox,maxInstances=2,platform=WINDOWS -log C:\seleniumgrid\node1.log
`

Are there any specific capabilties which needs to be mentioned while running Edge browser with watir?

@titusfortner
Copy link
Member

Watir works just fine with Edge.
Firstly, try the new Selenium 3.0 standalone server that was released today.

Also, I'm not sure where the variable browser_capabilities is coming from. I'm looking at options to make setting capabilities easier in Watir, but for now the recommended way is to do:

browser_capabilities = Selenium::WebDriver::Remote::Capabilities.edge

@p0deje
Copy link
Member

p0deje commented Dec 22, 2016

Closing this due to inactivity.

Please, reopen if still an issue.

@p0deje p0deje closed this as completed Dec 22, 2016
@ambikashri
Copy link
Author

I tried with selenium 3.0.1.jar. Edge browser seems to be going in the foreground, but fails to initiate on running the grd instance in background.

@p0deje
Copy link
Member

p0deje commented Jan 6, 2017

Can you try to run do the same with pure Selenium and see if it fixes the issue?

@titusfortner
Copy link
Member

@ambikashri - make sure you are using the latest versions of watir (6.1) and selenium-webdriver (3.0.5). There were some changes made recently that addressed some issues with Edge.

@ambikashri
Copy link
Author

I tried with watir(6.0,2) and selenium-webdriver(3.0.1). Will try with selenium-webdriver(3.0.5) also and let you know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants