Re: Proposal: Setting all capabilities to required

+1 every argument David mentioned.

And it's just not fair that every browser vendor to go through implementing
the fuzzy matching algorithms and other complications coming with
required+desired... When there doesn't seem to be a [strong] case for
desired capabilities.

And it does seem illogical for WebDriver implementation of browser X to
start a session of X when the user "desires" a session of browser Y.

I'm pretty sure a good migration plan for Selenium could be put together
and executed (perhaps over the course of a couple of minor and one major
release) to make it smooth for existing users.

Related here. When POST /session returns an *error*, details of the
*reasons* why the request was denied may become more important if all
capabilities are required. Specifically, if certain requested capabilities
could not be met, it would be good for the local end to be able to
determine which ones. That could allow local end to meaningfully recover
from certain errors ("Proxy cannot be set? Let me run a subset of my test
suite that does not need a proxy" or "Native events? .. Same thing" or "No
IE11? Let me ask for any IE and hope for the best"). Does it make sense to
spec a data structure the remote end MUST return with any error response to
POST /session?

Seva

On Thu, Oct 2, 2014 at 7:11 AM, David Burns <dburns@mozilla.com> wrote:

> Hi All,
>
> I would like to propose that in Section 4.1 we remove desiredCapabilites
> and requiredCapabilites and just have a capabilities object. This
> capabilities object would then be treated as a requiredCapabilities object
> and if any of keys in that object do not match what the UA/intermediary
> node can do then error with a `session not created` status. If keys have
> been omitted from the capabilities object then the UA/intermediary node can
> just assume that the developer is happy with whatever they receive
>
> Currently I can't think of a use case where a developer would send through
> capabilities and only want a small subset. In Bug 26391[1] a use case has
> been put forward to making Proxy a required capability.
>
> By setting capabilities to always required it will simplify
> implementations and all developers to maintain a certain amount of
> determinism for their automation. It also would stop people asking for IE
> on Linux and getting Firefox which is what the current open source project
> does.
>
> I look forward to your feedback.
>
> David
>
> [1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=26391
>
>

Received on Thursday, 2 October 2014 23:21:56 UTC