Thursday, 25 February 2016

Advance Selenium Reporting with Screenshots

Advance Selenium Reporting with Screenshots 


package ff;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;

import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;

public class ExcentReport {
ExtentReports report;
ExtentTest logger;
WebDriver driver;

@Test
public void VerifyBlogTitle()
{

 
//report path

report=new ExtentReports("D:\\Learn\\extent Report\\Monika.html");
logger= report.startTest("Test:VerifyBlogTitle");

logger.log(LogStatus.INFO, "Steps:1", "Invoke Firefox Browser");
logger.log(LogStatus.INFO, "Steps:2", "Invoke http://www.learn-automation.com URL");
logger.log(LogStatus.INFO, "Steps:3", "Verify page title");

logger.log(LogStatus.INFO, "Step:1:Invoke Browser");
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
driver= new ChromeDriver();
logger.log(LogStatus.INFO, "Step:2:Maximize Window");
driver.manage().window().maximize();
logger.log(LogStatus.INFO, "Step:3:Invoke http://www.learn-automation.com URL");
driver.get("http://www.google.com/");
logger.log(LogStatus.INFO, "Step:3:Get Title");
String title = driver.getTitle();
logger.log(LogStatus.INFO, "Verify title");
Assert.assertTrue(title.contains("Selenium"));
logger.log(LogStatus.PASS, "VerifyBlogTitle");
}

@AfterMethod
public void teardown(ITestResult result)
{
if(result.getStatus()==ITestResult.FAILURE)
{
String screenshotpath =Screenshotmethod.capturescreenshot(driver, result.getName());
String image =logger.addScreenCapture(screenshotpath);
logger.log(LogStatus.FAIL, "VerifyBlogTitle",image);

}
report.endTest(logger);
report.flush();
driver.get("D:\\Learn\\extent Report\\Monika.html");
}


}

---------------------------------------------------------------------------------------------------------


package ff;

import java.io.File;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;

public class Screenshotmethod {
public static String capturescreenshot(WebDriver driver,String screenshotName)
{
try
{
TakesScreenshot ts = (TakesScreenshot)driver;
File source = ts.getScreenshotAs(OutputType.FILE);
String dest ="D:\\Learn\\extent Report\\screenshot\\"+screenshotName+".png";
File destination = new File(dest);
FileUtils.copyFile(source, destination);

System.out.println("Screenshot taken");
return dest;
}
catch(Exception e)
{
System.out.println("Exception While taking screenshot"+ e.getMessage());
return e.getMessage();
}


}
}


Jar require for this:


extentreports-2.40.jar



Report:




4 comments: