Remote (via selenium-grid) Edge webdriver (14.14393) browser in VMware Player does not accept .click on visible element

Issue #11995808 • Assigned to Clay M.

Details

Author
Mark D.
Created
May 12, 2017
Privacy
This issue is public.
Found in
  • Microsoft Edge
Found in build #
14.14393
Reports
Reported by 3 people

Sign in to watch or report this issue.

Steps to reproduce

My test suite:

  • Ruby (with LapisLazuli gem)
  • Selenium(-grid)

Steps to reproduce

  • Download the VMware Win10 + Edge 14.14393 from the MS website
  • Download the 14.14393 webdriver from the MS website
  • Make sure the driver is in a folder that is known in the Windows PATH (For me that is c:\TA\drivers)
  • On my local machine startup a selenium-grid hub (version 3.4.0)
    • java -jar selenium-grid_3.4.0.jar -role hub
  • On the VM machine startup a selenium-grid node (version 3.4.0)
    • java -jar -Dwebdriver.edge.driver="C:\TA\driver\MicrosoftWebDriver.exe" selenium-grid_3.4.0.jar -role node -hub http://192.1.1.124:4444/grid/register -browser browserName=MicrosoftEdge
    • 00:43:22.896 INFO - The node is registered to the hub and ready to use
  • On my local machine I have Ruby 2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32] & the gem lapis_lazuli (1.1.0) - If you need to install this, just follow www.testautomation.info step-by-step guide
  • On my local machine I now start an irb session
    • Winkey+ r then type irb and hit enter
  • I make use of the lapis lazuli gem so this is how I connect to the remote browser (so far so good)
 irb(main):002:0> require 'lapis_lazuli'
=> true
irb(main):003:0> include LapisLazuli
=> Object
irb(main):004:0> browser :remote, {
irb(main):005:1*   :url => "http://localhost:4444/wd/hub",
irb(main):006:1*   :caps => {
irb(main):007:2* "browserName" => "MicrosoftEdge",
irb(main):008:2* }
irb(main):009:1>   }
Unable to find a configuration file, defaulting to empty config.yml.
No default device, nor a selected device was set. Browser default settings will be loaded. More info: http://testautomation.info/Lapis_Lazuli:Device_Simulation
=> #"http://localhost:4444/wd/hub", :caps=>{"browserName"=>"MicrosoftEdge"}}, @browser_name="remote", @browser=#>
irb(main):010:0>

Browse to the url, find element, make sure it’s visible and click it

browser.goto "www.google.com"
irb(main):011:0> element = browser.wait(:like => [:input, :name, 'q'])
=> #
irb(main):012:0> element.visible?
=> true
irb(main):013:0> element.click

Issue - click command does not work on Edge (works fine on Chrome/Firefox)

Selenium::WebDriver::Error::UnknownError: Element is obscured (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 31 milliseconds
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'MSEDGEWIN10', ip: '192.1.1.177', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_131'
Driver info: org.openqa.selenium.edge.EdgeDriver
Capabilities [{applicationCacheEnabled=true, pageLoadStrategy=normal, platform=ANY, acceptSslCerts=true, browserVersion=38.14393.1066.0, platformVersion=10, locationContextEnabled=true, webStorageEnabled=true, browserName=MicrosoftEdge, takesScreenshot=true, takesElementScreenshot=true, javascriptEnabled=true, platformName=windows}]
Session ID: DDB7B54C-F0D5-4712-828B-565C12B12866 (org.openqa.selenium.WebDriverException)
        from [remote server] sun.reflect.NativeConstructorAccessorImpl():-2:in `newInstance0'
        from [remote server] sun.reflect.NativeConstructorAccessorImpl():-1:in `newInstance'
        from [remote server] sun.reflect.DelegatingConstructorAccessorImpl():-1:in `newInstance'
        from [remote server] java.lang.reflect.Constructor():-1:in `newInstance'
        from [remote server] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java):215:in `createThrowable'
        from [remote server] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java):167:in `throwIfResponseFailed'
        from [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):671:in `execute'
        from [remote server] org.openqa.selenium.remote.RemoteWebElement(RemoteWebElement.java):272:in `execute'
        from [remote server] org.openqa.selenium.remote.RemoteWebElement(RemoteWebElement.java):82:in `click'
        from [remote server] sun.reflect.GeneratedMethodAccessor54():-1:in `invoke'
        from [remote server] sun.reflect.DelegatingMethodAccessorImpl():-1:in `invoke'
        from [remote server] java.lang.reflect.Method():-1:in `invoke'
        from [remote server] org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement$1(EventFiringWebDriver.java):332:in `invoke'
        from [remote server] com.sun.proxy.$Proxy7():-1:in `click'
        from [remote server] org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement(EventFiringWebDriver.java):345:in `click'
        from [remote server] sun.reflect.GeneratedMethodAccessor54():-1:in `invoke'
... 10 levels...
        from [remote server] java.lang.Thread():-1:in `run'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:32:in `initialize'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `new'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/default.rb:107:in `request'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:61:in `call'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/bridge.rb:678:in `raw_execute'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/bridge.rb:656:in `execute'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/bridge.rb:404:in `click_element'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/common/element.rb:74:in `click'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.2.1/lib/watir/elements/element.rb:131:in `block in click'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.2.1/lib/watir/elements/element.rb:640:in `element_call'
        from C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.2.1/lib/watir/elements/element.rb:122:in `click'
        from (irb):14
        from C:/Ruby23/bin/irb.cmd:19:in `'
irb(main):015:0>

Attachments

0 attachments

    Comments and activity

    • This is the workaround I need to use for now.

      browser.js_click(browser.wait(
      :like => [:input, :name, ‘q’],
      :message => ‘Element was not found.’
      ))

    • Changed Steps to Reproduce

    • Microsoft Edge Team

      Changed Assigned To to “Steven K.”

    • Just a small heads up.
      In the above mentioned scenario, I’ve seen the click work once (not sure if the steps were slightly different, or maybe it’s a timing issue?). After that one time success, I only got faillures like this.
      As long as this issue is present in the webdriver (And I’ve seen similar issues being reported with Java examples dating from ±1,5 years back), I cannot rely on it and will skip it from my TA run.

    • Microsoft Edge Team

      Changed Assigned To from “Steven K.” to “Clay M.”

    You need to sign in to your Microsoft account to add a comment.

    Sign in