File tree Expand file tree Collapse file tree
main/java/io/swaglabs/portal/qa
test/java/io/swaglabs/portal/qa/listeners Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package io .swaglabs .portal .qa .screenshotsmanager ;
2+
3+ import com .microsoft .playwright .Page ;
4+ import lombok .RequiredArgsConstructor ;
5+
6+ import java .nio .file .Paths ;
7+
8+ @ RequiredArgsConstructor
9+ public class ViewportScreenshotStrategy implements ScreenshotStrategy {
10+
11+ private final Page PAGE ;
12+
13+ @ Override
14+ public void capture (String filePath ) {
15+ PAGE .screenshot (new Page .ScreenshotOptions ().setPath (Paths .get (filePath )).setFullPage (false ));
16+ }
17+ }
Original file line number Diff line number Diff line change 66import io .swaglabs .portal .qa .screenshotsmanager .ElementScreenshotStrategy ;
77import io .swaglabs .portal .qa .screenshotsmanager .FullPageScreenshotStrategy ;
88import io .swaglabs .portal .qa .screenshotsmanager .ScreenshotContext ;
9+ import io .swaglabs .portal .qa .screenshotsmanager .ViewportScreenshotStrategy ;
910import lombok .AccessLevel ;
1011import lombok .NoArgsConstructor ;
1112
@@ -29,10 +30,16 @@ public static ScreenshotsUtils getInstance() {
2930 return instance ;
3031 }
3132
32- public ScreenshotContext getFullPageScreenshotContext (Page page ) {
33+ public ScreenshotContext takeFullPageScreenshotContext (Page page ) {
34+ Objects .requireNonNull (page , "Page cannot be null." );
3335 return new ScreenshotContext (new FullPageScreenshotStrategy (page ));
3436 }
3537
38+ public ScreenshotContext takeViewportScreenshotContext (Page page ) {
39+ Objects .requireNonNull (page , "Page cannot be null." );
40+ return new ScreenshotContext (new ViewportScreenshotStrategy (page ));
41+ }
42+
3643 public void takeElementScreenshot (Locator locator , String fileName ) {
3744 Objects .requireNonNull (locator , "Locator cannot be null." );
3845 Objects .requireNonNull (fileName , "File name cannot be null." );
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ private void takeScreenshot(ITestResult testResult) {
7171 String filePath = Paths .get (dirPath , fileName ).toString ();
7272 try {
7373 Files .createDirectories (Paths .get (dirPath ));
74- WebPortalConstants .SCREENSHOTS_UTILS .getFullPageScreenshotContext (currentPage ).captureScreenshot (filePath );
74+ WebPortalConstants .SCREENSHOTS_UTILS .takeFullPageScreenshotContext (currentPage ).captureScreenshot (filePath );
7575 } catch (IOException e ) {
7676 log .error ("Screenshot failed for {}: {}" , testName , e .getMessage ());
7777 }
You can’t perform that action at this time.
0 commit comments