Look for proxy settings in both required- and desired capabilities sets

RESOLVED FIXED in Firefox 52

Status

Testing
Marionette
RESOLVED FIXED
11 months ago
5 months ago

People

(Reporter: ato, Assigned: ato)

Tracking

(Blocks: 1 bug)

Version 3
mozilla53
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox52 fixed, firefox53 fixed)

Details

(Assignee)

Description

11 months ago
According to https://github.com/mozilla/geckodriver/issues/97#issuecomment-229129641 Marionette only looks for the proxy settings in the requiredCapabilities field.  It should also look in the desiredCapabilities field.

https://dxr.mozilla.org/mozilla-central/source/testing/marionette/driver.js#601
(Assignee)

Updated

11 months ago
Blocks: 721859
The reason it was placed in requiredCapabilities is that it is near impossible to check that the proxy settings are working the end user. Historically, if the proxy settings are there people are actually wanting them to be used or to fail.


Moving forward, I wonder if this is something that would be better suited in the like browser :{} capabilities at the top of the capabilities object.

Comment 2

11 months ago
I'm not sure I understand that argument. If it's not possible to check that the settings are working, then how do you know whether the required capability was fulfilled? That seems equally impossible, regardless of the strength of the end user's desire.

There are a lot of tests in the wild that put proxy settings in the desired capabilities, even though they really mean to "require" the proxy. That could be out of unfamiliarity with the distinction, or because of a lack of local end support for required caps. It would be nice for those to keep working one way or another.
If the UA fails to set the proxy in a desiredCapabilities world, with errors from the UA, it will fail silently and in a requiredCapabilities world it would pass back those errors.

Comment 4

11 months ago
The conclusion from IRC is that we don't actually return the "proxy" capability in the new session response. I thought we did, but that's not the case, so there isn't any way to indicate that the proxy capability was not fulfilled.
(Assignee)

Comment 5

11 months ago
I don’t think we should check if the proxy settings work when it is provided.  This feels like another case where the desired vs. required capability distinction doesn’t make any sense.  The purpose of capabilities is, primarily, to select a browser configuration from a matrix; not to filter at the driver level what features are enabled or not.  C.f. jgraham’s mail on the mailing list about shared browser configuration options.
(Assignee)

Updated

5 months ago
Assignee: nobody → ato
Status: NEW → ASSIGNED
(Assignee)

Comment 6

5 months ago
Somewhat related to https://bugzilla.mozilla.org/show_bug.cgi?id=1323450.
(Assignee)

Comment 7

5 months ago
I’ve started work on this.  Unfortunately I need to rewrite large portions of the capabilities processing steps to do this patch, but we needed to do that at some point anyway.
(Assignee)

Updated

5 months ago
Depends on: 1326534
(Assignee)

Updated

5 months ago
Status: ASSIGNED → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → FIXED
status-firefox52: --- → fixed
status-firefox53: --- → fixed
Target Milestone: --- → mozilla53
You need to log in before you can comment on or make changes to this bug.