feat!: release testplane v9#1279
Conversation
This reverts commit 431d8a5.
…assertView fixes (#1205) * feat: implement the disableHover option and refactor existing-browser * fix: improve safe area z-index computation and take box-shadow/outlines into account * fix: fix whole page screenshots and screenshots by coords * fix: fix loss of error cause when passing error between worker and master * test: implement assertView e2e fixture, add more e2e tests, fix failing unit tests * fix: fix full page auto detection condition
* feat: implement type-safe isomorphic coords helpers * fix: fix rounding helper issues and add tests * ci: use github runners instead of self-hosted * ci: run standalone tests on github runners * ci: fix fixtures generation script
…mespaces (#1235) * feat: implement type-safe isomorphic coords helpers * fix: fix rounding helper issues and add tests * ci: use github runners instead of self-hosted * ci: run standalone tests on github runners * ci: fix fixtures generation script * refactor: refactor client-bridge to support multiple instances and namespaces
* feat: rewrite composite-image and implement robust unit tests * fix: handle edge cases in image class, including overfowing ignore areas and invalid sizes * chore: add composite-image test fixtures to gitignore
…ra cropping logic (#1239) * feat: improve calibrator to work correctly on ios simulators and camera cropping logic * test: fix camera tests
* fix: exclude certain dependencies from prebundling * test: specify concrete browser version in standalone integration tests * test: implement screen-shooter integration tests
* fix: remove duplicate screenshot delay * fix: correctly handle absence of capture rects in safe area computation * fix: remove delay in screen-shooter and wait for settle when capturing checkpoints * fix: fix safe area computation and failing e2e tests * test: fix unit tests and formatting issues * fix: simplify return types in client-scripts and use correct logging topics * chore: use better variable names when computing pseudo element coords and strip unnecessary comments * ci: use separate comment tag for browser-env tests * chore: do not collect coverage for browser-env tests * test: tiny fixes of browser-env tests and removing unnecessary console log * fix: add a few explanatory comments and fix a typo in image class * test: commit composite-image fixtures instead of generating them on the fly each time * docs: add info about generating debug images to dev docs * fix: use correct viewport offset for a case when driver returns full-page screenshot * refactor: move composite iterations limit to constants, minor review fixes * fix: fix off-by-one errors in calibrator and leave a comment clearing why coord helpers use specific height/width convention * test: fix a couple of ever-green tests on screen-shooter * test: run fractional scroll test only in chrome * fix: fix calibration script and add debug logging to calibrator * chore: enhance logging in elements screenshooter and fix tests * ci: add tsc-out to prettierignore * fix: do not apply calibration if viewport size changed * fix: add more robust logic for computing layout shifts and fix tests * test: exclude fixtures from unit tests * test: fix tests with node types stripping * test: fix integration screenshot tests * test: build browser bundle before test * test: build project before test * test: do not run screenshot integration tests in firefox
…ropMargins options (#1277) * fix: handle a case when setTimeout is stubbed during waiting for selectors to stabilize * fix: fix safe area computation for fixed blocks * fix: disable animations and hovers in page screenshots by default * fix: do not move pointer on mobile devices, because it causes some browsers to freeze * fix: handle a case when capture area needs to be expanded, but capture elements are out of viewport * fix: fix handling of sticky/fixed positioned elements inside capture elements * fix: when computing average shift, only take non-zero shifts into account * fix: print helpful message if element to capture is hidden/disappeared mid-capture * fix: ignore transparent blocks via css filter opacity when computing safe area * fix: capture fixed-positioned elements and fix various inconsistencies with fixed/sticky/absolute elements participating in capture * fix: handle missing timeout value in safari simulators during capture area settle wait * fix: rollback only on needed amount of px if safe area shrinks instead of on the whole safe area size to prevent infinite rollback-scroll trap * fix: use correct computation to determine instersection percentage between safe area and capture area * fix: revert introducing synthetic capture specs for fixed-positioned descendants * feat: implement cropMargins options * chore: enable screenshot verbose logging only with TESTPLANE_DEBUG_SCREENSHOTS * fix: fix zero maxDelta non-renderable capture spec case during composite and unit tests * test: fix unit tests * fix: fix review issues * fix!: set default tolerance value to 3 and ignoreDiffPixelCount to 4 * docs: actualize screenshots dev readme
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 76e63fe7ff
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const isFullPage = utils.isFullPage( | ||
| imageAreaToCrop, | ||
| originalImageSize, | ||
| calibrationArea ?? imageAreaToCrop, |
There was a problem hiding this comment.
Pass the real viewport size to full-page detection
In screenshotMode: "auto", utils.isFullPage compares the raw image height with the viewport height, but this call passes originalImageSize as the viewport argument. For browsers/drivers whose takeScreenshot returns a full-page PNG, the two heights are therefore equal and isFullPage returns false, so the image is not cropped back to the requested viewport before viewport/element compositing. This produces oversized screenshots and bad diffs in those environments; pass opts.viewportSize to the detector instead.
Useful? React with 👍 / 👎.
commit: |
✅ Testplane browser-env run succeed
|
✅ Testplane E2E run succeed
|
No description provided.