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

archetype-resources.src.test.java.testscripts.TestBase Maven / Gradle / Ivy

#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.testscripts;

import io.testsmith.support.listeners.*;
import ${package}.utils.BrowserUtil;
import ${package}.utils.ScreenshotListener;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.events.EventFiringDecorator;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Listeners;

@Listeners(ScreenshotListener.class)
public abstract class TestBase {

    private static final ThreadLocal driver = new ThreadLocal<>();

    public WebDriver getDriver() {
        return driver.get();
    }

    @BeforeClass
    public void setup() {
        final String browser = System.getProperty("browser", "chrome");
        WebDriver originalDriver = BrowserUtil.createDriver(browser);
        driver.set(new EventFiringDecorator(
                new WebDriverLoggingListener(),
                new SavePageSourceOnExceptionListener(originalDriver, "target/log/pagesources"),
                new SaveScreenshotOnExceptionListener(originalDriver, "target/log/screenshots"),
                new HighlightElementsListener()
        ).decorate(originalDriver));
    }

    @AfterClass
    public void teardown() {
        getDriver().quit();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy