Open Bug 1792780 Opened 2 years ago Updated 1 year ago

"WebDriver:NewSession" blocks until currently selected tab has been finished loading

Categories

(Remote Protocol :: Marionette, defect, P5)

Firefox 105
defect

Tracking

(Not tracked)

People

(Reporter: kilimra, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0

Steps to reproduce:

I have been using version 87 of firefox until recently when I upgraded to version 105.
In version 105 I found that if the current tab was loading a page, the marionette-newSession command would block until the page finished loading.
I can't think of a reason for the blocking. Is this a bug?
If not, can you tell me in which version this change appears?
I really need a marionette that doesn't block, because most of my marionette commands have nothing to do with the current page content, the most executed commands are "NewWindow", or closing the left and right tabs.

I found the version where the change appears.

https://bugzilla.mozilla.org/show_bug.cgi?id=1736323

The rationale for this change is:
"Given that Marionette / WebDriver expects a valid browsing context being initially selected"

But obviously not everyone needs this.
I don't need to interact with the current page content, and I use Marionette only to compensate for some of firefox's shortcomings, such as the inability to customize hotkeys and to close left and right side tabs.
This change almost deprecates the functionality I am using normally. I think this is unreasonable.

Is it possible to split "NewSession" into two commands, NewSessionWait and NewSessionNotWait?

Moving this to Testing > Marionette, if this is not the right component, please move it to a more appropriate one. Thanks!

Component: Untriaged → Marionette
Product: Firefox → Testing

Thanks for the report. Are you using a Marionette client or geckodriver? Are you trying to connect to a running instance of Firefox given that some page is loading when you want to start a new webdriver session? Maybe you can give us some more details about your setup and test scenario? Thanks a lot.

Flags: needinfo?(kilimra)

(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #3)

Thanks for the report. Are you using a Marionette client or geckodriver? Are you trying to connect to a running instance of Firefox given that some page is loading when you want to start a new webdriver session? Maybe you can give us some more details about your setup and test scenario? Thanks a lot.

Thanks , I had given up hope on this issue. I returned to version 87.
I am using AutoHotkey, via winapi-Ws2_32, to call Marionette. it is not complicated and there are no other dependencies.

I added pictures. Demonstrated using Marionette, opening multiple URLs from the outside, or closing the tabs on the left and right side.

I don't think we need to go into the specifics of this, because as described before, it's just the "newSession" waiting for the page to finish loading.

v-106

Ws2_32\connect is OK, the connection has been established.

There is only one thing to discuss - whether "newSession" needs to wait for the page to finish loading in all usage scenarios.

Flags: needinfo?(kilimra)

The severity field is not set for this bug.
:whimboo, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(hskupin)

This is a very special use case of Marionette and doesn't affect normal usage. As such it's not a bug we are planning to work on in the foreseeable future.

Severity: -- → S3
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(hskupin)
Priority: -- → P5
Summary: marionette-newSession is blocked → "WebDriver:NewSession" blocks until currently selected tab has been finished loading
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.