Bug 180407 - WebDriver: several tests in imported/w3c/webdriver/tests/sessions/new_session/merge.py are failing
Summary: WebDriver: several tests in imported/w3c/webdriver/tests/sessions/new_session...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebDriver (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-12-05 02:51 PST by Carlos Garcia Campos
Modified: 2018-01-23 08:25 PST (History)
3 users (show)

See Also:


Attachments
Patch (4.79 KB, patch)
2018-01-23 06:50 PST, Carlos Garcia Campos
clopez: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2017-12-05 02:51:40 PST
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_platform_name[body0] PASSED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_platform_name[body1] PASSED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid[acceptInsecureCerts-value0] PASSED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid[unhandledPromptBehavior-value1] FAILED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid[unhandledPromptBehavior-value2] FAILED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid[timeouts-value3] PASSED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid[timeouts-value4] PASSED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName FAILED
WebDriverTests/imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_browserName FAILED

Similar backtraces:

new_session = <function create_session at 0x7f1318721758>, add_browser_capabilites = <function update_capabilities at 0x7f1318721848>, key = 'unhandledPromptBehavior'
value = ('accept', 'accept')

    @pytest.mark.parametrize("key,value", invalid_merge)
    def test_merge_invalid(new_session, add_browser_capabilites, key, value):
        with pytest.raises(error.InvalidArgumentException):
             new_session({"capabilities":
                          {"alwaysMatch": add_browser_capabilites({key: value[0]}),
>                          "firstMatch": [{}, {key: value[1]}]}})
E            Failed: DID NOT RAISE <class 'webdriver.error.InvalidArgumentException'>

add_browser_capabilites = <function update_capabilities at 0x7f1318721848>
key        = 'unhandledPromptBehavior'
new_session = <function create_session at 0x7f1318721758>
value      = ('accept', 'accept')

We are accepting capabilities that we shouldn't.
Comment 1 Carlos Garcia Campos 2018-01-23 06:42:39 PST
This is actually a bug in the spec, see https://github.com/w3c/webdriver/issues/1203. It seems the idea in any case is that we should check all the firstMatch capabilities before matching them, and return if there's any error. test_merge_platformName and test_merge_browserName are different issues, I'll file separate bug reports for those.
Comment 2 Carlos Garcia Campos 2018-01-23 06:50:12 PST
Created attachment 332026 [details]
Patch
Comment 3 Carlos Garcia Campos 2018-01-23 08:23:06 PST
Committed r227414: <https://trac.webkit.org/changeset/227414>
Comment 4 Radar WebKit Bug Importer 2018-01-23 08:25:02 PST
<rdar://problem/36776979>