We have encountered an issue with our UI suite failing in Chrome during the login process. Initially, we thought it might be due to upgrading to Chrome 79, as the problems arose simultaneously. Interestingly, the login functionality still works smoothly in Firefox. Here is a snippet of our current code:
await this.loginButton.click()
About six months ago, we noticed that the promise stopped returning. Removing the await keyword resulted in:
this.loginButton.click()
This change led to a StaleElementReferenceError
. A workaround using browser actions seemed to function, although not very elegantly:
await browser.actions().mouseMove(this.loginButton).perform();
browser.actions().click().perform();
However, clicking the login button caused Protractor's browser instance to become unresponsive immediately. None of the typical methods like frameSwap()
, get()
, or even restarting the instance with browser.restart()
seem to work. The execution gets stuck, and these functions do not return any results.
Interestingly, logging in using a cookie bypassing the actual login page did not result in crashing the browser instance. This suggests that the crash may be triggered by the login action itself, though the cause remains unclear.
Moreover, around the same time we started experiencing this login issue, another error, NoSuchWindowError
, began to surface while using browser waits:
await browser.wait(protractor.ExpectedConditions.elementToBeClickable(targetElement)
I suspect that these two errors might be linked, but my searches on the internet yielded no relevant information.
Software versions being used:
Chrome: 79-80
Protractor: 5.4.2
webdriver-manager 12.1.7
Any help or insights you can provide would be greatly appreciated. Thank you in advance.