Closed Bug 1509932 Opened 7 years ago Closed 7 years ago

Selenium Actions fail on Geckodriver and Firefox 63.0.3 - WebDriverException: TypeError: rect is undefined

Categories

(Remote Protocol :: Marionette, defect)

63 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1453779

People

(Reporter: brad.groove, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 Steps to reproduce: 1. Download current project https://github.com/SilverElixir/qatestlab_automation-lecture-4/ 2. Open "BaseScript.java" file and change "browser" value to "firefox" at line 32, jus like that: driver = new EventFiringWebDriver(DriverFactory.getWebDriverInstance("firefox")); 3. Run following test "assignment4/tests/CreateProductTest.java" with Geckodriver and Firefox 63.0.3 Actual results: Test fails on line at myprojects.automation.assignment4.pages.AdminPage.selectProductsFromCatalogueMenu(AdminPage.java:28) at myprojects.automation.assignment4.tests.CreateProductTest.createNewProduct(CreateProductTest.java:24) with below exception: org.openqa.selenium.WebDriverException: TypeError: rect is undefined Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z' System info: host: 'mbp-lucky', ip: 'fe80:0:0:0:bae8:56ff:fe3a:3be0%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.5', java.version: '1.8.0_131' Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 63.0.3, javascriptEnabled: true, moz:accessibilityChecks: false, moz:geckodriverVersion: 0.23.0, moz:headless: false, moz:processID: 2994, moz:profile: /var/folders/jw/w6cdxkyx2mz..., moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, pageLoadStrategy: normal, platform: MAC, platformName: MAC, platformVersion: 13.4.0, rotatable: false, setWindowRect: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify} Session ID: 38305c4d-f38d-1348-8260-911e2ffd7f50 Here is the full stake trace listed: https://pastebin.com/LfRw2fPs Expected results: Somehow this test is run successfully with latest Chrome. Well, it looks like it's either Firefox 63.0.1 or Geckodriver issue
Could you please attach a trace-level log?
Component: Untriaged → Marionette
Flags: needinfo?(brad.groove)
Product: Firefox → Testing
Thanks a lot, Andreas, for taking a look at my issue. But, unfortunately, I don't know how to get trace-level log. The only thing I have is the whole log https://pastebin.com/LfRw2fPs
Flags: needinfo?(brad.groove) → needinfo?(dburns)
:lucky It looks like you might be using a version of selenium that was released a year ago. Could you also upgrade to the latest version.
Thank you so much, guys, for your attention to my issue! 1) Henrik @hskupin@gmail.com, I've enabled options and got trace-level log for Geckodriver - here it is https://pastebin.com/ReC8NYR1 . Unfortunately, there's a message ``` 1543480155597 webdriver::server DEBUG <- 500 Internal Server Error {"value":{"error":"unknown error","message":"TypeError: rect is undefined","stacktrace":"element.getInViewCentrePoint@chrome://marionette/content/element.js:1160:5\ngetElementCenter@chrome://marionette/content/action.js:1447:14\ndispatchPointerMove/<@chrome://marionette/content/action.js:1336:18\ndispatchPointerMove@chrome://marionette/content/action.js:1332:10\ntoEvents/<@chrome://marionette/content/action.js:1113:16\naction.dispatchTickActions@chrome://marionette/content/action.js:1023:23\naction.dispatch/chainEvents<@chrome://marionette/content/action.js:992:13\n"}} ``` So, not sure how it helps to debug the issue :( 2) David @dburns@mozilla.com , yes, I thought there's an issue with outdated version of Selenium. Gotta try to upgrade it. But my biggest concern is the the same test with ChromeDriver passes successfully, with no issues. UPD: When I added ".pause(time)" to Actions builder, it passed in Firefox too. Seems Firefox needs more time between finding elements than Chrome. Just my suggestion :)
Flags: needinfo?(brad.groove)
Thanks for those additional feedback and information. It was helpful, and shows me that you are using actions. I'm fairly sure that given the failure message that this is a dupe of bug 1453779.
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
(In reply to Lucky from comment #5) > UPD: When I added ".pause(time)" to Actions builder, it passed in Firefox > too. Seems Firefox needs more time between finding elements than Chrome. > Just my suggestion :) Note that the element at this time doesn't seem to be visible yet, and due to the other bug we fail. So for now you may want to wait and not pause.
(In reply to Lucky from comment #5) > 2) David @dburns@mozilla.com , yes, I thought there's an issue with outdated > version of Selenium. Gotta try to upgrade it. But my biggest concern is the > the same test with ChromeDriver passes successfully, with no issues. > > UPD: When I added ".pause(time)" to Actions builder, it passed in Firefox > too. Seems Firefox needs more time between finding elements than Chrome. > Just my suggestion :) I think that is more about a race condition than anything else. The other side of this is Chrome has yet to implement actions properly so your test might start failing in the same way once they start maintaining ChromeDriver again
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.