All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.novatec.testit.webtester.events.listeners.TakeScreenshotOnExceptionListener Maven / Gradle / Ivy

package info.novatec.testit.webtester.events.listeners;

import lombok.AllArgsConstructor;
import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;

import info.novatec.testit.webtester.browser.Browser;
import info.novatec.testit.webtester.events.Event;
import info.novatec.testit.webtester.events.EventListener;
import info.novatec.testit.webtester.events.EventSystem;
import info.novatec.testit.webtester.events.ExceptionEvent;


/**
 * This {@link EventListener event listener} takes a screenshot on each occurrence of an {@link ExceptionEvent exception
 * event} and stores it in the configured default screenshot folder.
 *
 * @see EventListener
 * @see Event
 * @see EventSystem
 * @since 2.0
 */
@Slf4j
@AllArgsConstructor
public class TakeScreenshotOnExceptionListener implements EventListener {

    @NonNull
    private final Browser browser;

    @Override
    public void eventOccurred(Event event) {
        if (isException(event)) {
            log.debug("taking screenshot because of exception event: {}", event);
            browser.screenshot().takeAndStore();
        }
    }

    private boolean isException(Event event) {
        return event instanceof ExceptionEvent;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy