Open kabhinav26 opened 2 years ago
This is a part of playwright test runner in node.js world. The test runner manages the screenshot files and directories, generating names for them etc. We can expose the image matching functions but JUnit/TestNG don't have built in support for managing test artifacts and we don't have our own runner in Java. Do you think that having something like assertThat(page).hasScreenshot(path)
would be sufficient?
In our framework we are using listeners to capture screenshots and manage file names, so it would be good to have atleast the functionality already present in node.js version.
From documentation i see there are assertions involving pixel threshold and content.
await expect(page).toHaveScreenshot({ maxDiffPixels: 100 }); expect(await page.textContent('.hero__title')).toMatchSnapshot('hero.txt');
Selenium has ashot library which supports visual testing on below parameters:
comparison of screenshots of pages; comparing screenshots of pages + ignoring specified elements (dynamic content, etc.); comparison of screenshots of elements; breakpoints – you can compare screenshots of pages or elements with different widths. The default is 3 breakpoints – 1920px, 768px, 360px; auto-generation of expected screenshots; you can write tests as ordinary functional automation tests, there are no restrictions – this is important because sometimes it may be necessary to perform some complex actions before taking a screenshot.
@yury-s Could the following features be added? We would appreciate it if you could add them.
assertThat(page).hasScreenshot(path)
Hello @yury-s - assertThat(page).hasScreenshot(path) would be great feature to have, exposing the image matching functions is the important thing here.
Is there any timeline for that feature to be developed? :)
Hi @yury-s,
assertThat(page).hasScreenshot(path)
should suffice for our framework's needs. Eagerly waiting for this feature.
Also giving it a star. Would be really good to have this also in java.
We would really need this. We would like to avoid having java and nodejs separate modules just because this feature is not available in java atm.
Would also love to see this in Java
Would love to see this feature!
Is there any update on this topic? I would love to have it in Java.
I would really like this feature to be ported, to avoid importing extra 3rd party libraries. +1!
+1
We also need to be able do visual comparisons in playwright-java and it would be really nice to not have to resort to 3rd party libraries.
Playwright node.js already has "Visual comparisons" functionality which can be used for visual regression testing, we need the same in playwright java library as well.