Scott Babcock
Scott Babcock
The referenced PR doesn't actually resolve the issues raised by this RFC. It actually makes the situation slightly worse by adding another entry to our list of special-case extension capability...
Another set of changes has been applied to **DefaultSlotMatcher** and **RelaySessionFactory** that introduces additional Appium-specific implementation. I think this is the wrong direction, because this code should be vendor-agnostic. https://github.com/SeleniumHQ/selenium/commit/4cacd4a05b9dea9185fec25e6442e07f5fecf0ce
@joerg1985 As I read the W3C specification, the slot matcher should not be interpreting custom capabilities in any way. These should be entirely ignored and passed on without examination. Unfortunately,...
@diemol The main issues with the existing implementation are that it treats the "non-special" extension capabilities different than it does the "special" ones, and it alters the requested client capabilities...
@VietND96 Capabilities with "simple" values (Boolean/Number/String) will be considered for slot matching, even if their capability names specify a prefix. Capabilities with "complex" values (Array/Object) will be ignored for slot...
@VietND96 I'm trying to understand why the comparison in the test you added should return `true`. Not only are the values for `moz:debuggerAddress` not the same; the values are of...
@diemol Changing the behavior to only ignore extension capabilities whose names contain "options" would produce the same behavior that is causing the test @VietND96 added to fail. The values of...
@diemol I understand that we currently ignore all "special" extension capabilities, but there appears to be no real-world scenarios of "special" extension capabilities with "simple" values in which this behavior...
@diemol Why is it desirable to support the scenario enforced by the test that @VietND96 added? We match nodes even when capabilities like `moz:debuggerAddress` are entirely different between requested and...
@diemol I force-push after rebasing to keep the commit history clean. My attempt to rebase after @VietND96 added his unit test went horribly wrong and I had to check out...