Skip to content

[Docs]: Custom matcher example doesn't work when you have a multiple element exception #34391

Open
@lukpsaxo

Description

@lukpsaxo

Page(s)

https://playwright.dev/docs/next/test-assertions#add-custom-matchers-using-expectextend

Description

The example in the docs above doesn't work if for example the locator has multiple elements - the exception gets swallowed.

You can add

    } catch (e: any) {
        // if we are testing more than 1 locator we need to show that error message
        if (e.message.includes('strict mode')) {
            throw e;
        }
        matcherResult = e.matcherResult;
    }

to work around it but I am sure there are other exceptions I am missing by just testing for strict mode.

other example in the same example: #34390
original request for this documentation: #15951 (comment)
issue raised but I was told off for not following the template: #34327
issue raised but I was told off because there are multiple issues with the example and you want seperate bugs: #34350

As I said originally I think making this custom assertion work properly is complicated - I'd prefer playwright exposed a way to do it rather than have a very complicated example.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions