2020-02-10

Serenity custom driver serenity.properties file configuration

Custom WebDriver implementations

You can add your own custom WebDriver provider by implementing the DriverSource interface. First, you need to set up the following system properties (e.g. in your serenity.properties file):

webdriver.driver = provided
webdriver.provided.type = mydriver
webdriver.provided.mydriver = com.acme.MyCustonDriver
thucydides.driver.capabilities = mydriver

Your custom driver must implement the DriverSource interface, as shown here:

public class MyCustonDriver implements DriverSource {

    @Override
    public WebDriver newDriver() {
        try {
            DesiredCapabilities capabilities = DesiredCapabilities.chrome();
            // Add
            return new RemoteDriver(capabilities);
        }
        catch (IOException e) {
            throw new Error(e);
        }
    }

        @Override
    public boolean takesScreenshots() {
        return true;
    }
}
This driver will now take screenshots normally.

No comments:

Post a Comment