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

com.thoughtworks.selenium.ScreenshotListener Maven / Gradle / Ivy

package com.thoughtworks.selenium;

import java.io.File;

import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.internal.IResultListener;

import com.thoughtworks.selenium.Selenium;


public class ScreenshotListener implements IResultListener {

    File outputDirectory;
    Selenium selenium;
    
    public ScreenshotListener(File outputDirectory, Selenium selenium) {
        this.outputDirectory = outputDirectory;
        this.selenium = selenium;
    }
    
    public void onTestFailure(ITestResult result) {
        Reporter.setCurrentTestResult(result);
        
        try {
            outputDirectory.mkdirs();
            File outFile = File.createTempFile("TEST-"+result.getName(), ".png", outputDirectory);
            outFile.delete();
            selenium.captureScreenshot(outFile.getAbsolutePath());
            Reporter.log("screenshot");
        } catch (Exception e) {
            e.printStackTrace();
            Reporter.log("Couldn't create screenshot");
            Reporter.log(e.getMessage());
        }  
        
        Reporter.setCurrentTestResult(null);
    }

    public void onConfigurationFailure(ITestResult result) {
        onTestFailure(result);
    }


    public void onFinish(ITestContext context) {}

    public void onStart(ITestContext context) {
        outputDirectory = new File(context.getOutputDirectory());
    }

    public void onTestFailedButWithinSuccessPercentage(ITestResult result) {}

    

    public void onTestSkipped(ITestResult result) {}

    public void onTestStart(ITestResult result) {}

    public void onTestSuccess(ITestResult result) {}

    public void onConfigurationSuccess(ITestResult itr) {
    }


    public void onConfigurationSkip(ITestResult itr) {
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy