grafana/k6

Add `ElementHandle.isInViewport()`

Open

#4423 aperta il 12 ago 2022

Vedi su GitHub
 (3 commenti) (0 reazioni) (1 assegnatario)Go (1537 fork)batch import
area: browserfeaturegood first issuehacktoberfesttriage

Metriche repository

Star
 (30.564 star)
Metriche merge PR
 (Merge medio 11g 15h) (47 PR mergiate in 30 g)

Descrizione

From this discussion in grafana/xk6-browser#467, we wanted to change TestWaitForFrameNavigationWithinDocument to also check whether an element is visible within the viewport after a navigation in the same document happens.

To do that it would be helpful if there was an ElementHandle.isInViewport() method, similar to the one described here. Playwright doesn't have such a method, but Puppeteer has ElementHandle.isIntersectingViewport(). isInViewport seems like a slightly better name, so let's go with that.

Suggested solution

We already have ElementHandle.boundingBox() in Go, though if we want to reduce the amount of JS evaluations and CDP calls, we could just wrap ElementHandle.eval() and do a single CDP call for this.

See grafana/k6#4424 for the test change to use this method.

Guida contributor