Inconsistent visibility requirement between get/query and find queries #523
Labels
5.0
Issues with potential breaking changes to resolve before/in the 5.0 release
documentation
Improvements or additions to documentation
This originally came up in #519 / #519 (comment)
Because we use
Locator.waitFor()
in thefind*
queries implementation, we have to specify a Playwrightstate
for the element we are waiting on. I naively went with the Playwright default, which isvisible
. However, this causes inconsistency with theget*
andquery*
queries because they don't verify the element state in Playwright at all.Here are some options I see to resolve this:
state
/asyncUtilExpectedState
to'attached'
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 😒)find*
queries already serve a different purpose on top of the other query types1 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
The text was updated successfully, but these errors were encountered: