This repository was archived by the owner on Aug 6, 2025. It is now read-only.

Description
This originally came up in #519 / #519 (comment)
Because we use Locator.waitFor() in the find* queries implementation, we have to specify a Playwright state for the element we are waiting on. I naively went with the Playwright default, which is visible. However, this causes inconsistency with the get* and query* queries because they don't verify the element state in Playwright at all.
Here are some options I see to resolve this:
- Switch the default
state/asyncUtilExpectedState to 'attached'
- Assert the
state consistently (isVisible()), for elements returned from the other types of queries (we'd probably also want to rename the option to remove async from the name 😒)
- Document this well and be okay that
find* queries already serve a different purpose on top of the other query types
1 and 2 will now be breaking changes since we already released stuff on 4.4.0. We should probably do 3 in some form in the meantime regardless of what we choose.
Related inconsistency/rough edge: #506