applitools / applitools/ImageTester
Add CLI option to group X number of PDF pages into single checkpoints
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 11
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Description
Problem: The ImageTester currently converts each PDF page into a single image/test. If changes occur (content added/removed) after baselines are created, the diffs cascade across downstream pages where the change or changes were introduced. e.g., content from page 3 is pushed to page 4, and so on.
Enhancement: Add an argument to group by X (e.g. 10 pages) number of pages. For example, the 1st 10 pages are combined into a single checkpoint, 11-21 into checkpoint 2, and so on. There could be logic added to calculate the number of pages per group by measuring the height of each page (they should be the same in theory). When it reaches 15k pixels, that would be the group. Furthermore, users can use ignore displacements to filter out displaced diffs, making it easier to see what changed.
This, of course, won't fix the issue entirely, as large PDFs will have issues at a certain grouped checkpoint. But it is an improvement of how it works now, IMO. There might be other things that could be done, such as lowering the resolution, converting the images to thumbnails, and thus allowing more pages to be grouped. Just some thoughts.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the ImageTester CLI entry point and locate the PDF page conversion and checkpoint creation flow. Define how an X-page grouping option should interact with page heights and displacement filtering, then verify that PDFs produce grouped checkpoints without changing existing behavior when the option is unused.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cli, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100