Open
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 removeasync
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