I want screen capture for each step in my test cases, I have not found a good practice please Help, I am using sikuli with Eclipse and Java selenium Annex my Code for more understanding Code
public class Factura_Nueva {
WebDriver screen;
ExtentReports extent;
ExtentTest logger;
@BeforeTest
public void startReport() {
extent = new ExtentReports(System.getProperty("user.dir") + "/Evidencia/Informe_de_Pruebas.html", true);
extent.addSystemInfo("HostName", "Ofimia").addSystemInfo("Eviroment", "QA").addSystemInfo("User Name",
"Andres Contreras");
extent.loadConfig(new File(System.getProperty("user.dir") + "\extent-config.xml"));
}
@BeforeMethod
public void setUp() throws Exception {
}
@Test
public void IngresoUsuario() throws FindFailed, InterruptedException, IOException, AWTException{
logger = extent.startTest("IngresoUsuario");
Screen screen = new Screen();
//1. ingresar al sistema
screen.doubleClick(aplicaion);
//2. ingresar de usuario
screen.wait(Ingreso_Usuario);
screen.click(Ingreso_Usuario);
screen.type(Key.DELETE+Key.DELETE+Key.DELETE+Key.DELETE+Key.DELETE+Key.DELETE+Key.DELETE);
screen.type("Andres"+Key.ENTER+Key.ENTER+Key.ENTER+Key.ENTER+Key.ENTER);
//3. Seleccion de version
screen.wait(Seleccion_Version,1000);
screen.click(Seleccion_Version.targetOffset(80,50));
//4.salir
screen.wait(Salir,1000);
screen.click(Salir.targetOffset(0,1));
Assert.assertTrue(true);
logger.log(LogStatus.PASS, "El Caso de prueba Paso");
}
@Test
public void IngresoFacturaNueva() throws FindFailed, InterruptedException, IOException{
logger = extent.startTest("IngresoFacturaNueva");
Screen screen = new Screen();
//1. ingresar al sistema
screen.doubleClick(aplicaion);
//2. ingresar de usuario
screen.wait(Ingreso_Usuario);
screen.click(Ingreso_Usuario);
//14.IngresoProducto-INGRESO SELECCION DE BODEGA
screen.click(IngresoProducto.targetOffset(-312,7));
Assert.assertTrue(true);
logger.log(LogStatus.PASS, "El Caso de prueba Paso");
}
@AfterMethod
public void getResult(ITestResult result) throws IOException {
if (result.getStatus() == ITestResult.FAILURE) {
logger.log(LogStatus.FAIL, "El caso de prueba fallido " +
result.getName());
logger.log(LogStatus.FAIL, "El caso de prueba fallido " +
result.getThrowable());
String screenshotPath = null;
try {
screenshotPath = CapturaFallidaFactura.getScreenhot(screen,
result.getName());
} catch (Exception e) {
e.printStackTrace();
}
logger.log(LogStatus.FAIL, logger.addScreenCapture(screenshotPath));
} else if (result.getStatus() == ITestResult.SKIP) {
logger.log(LogStatus.SKIP, "Test Case Skipped is " + result.getName());
}
extent.endTest(logger);
}
@AfterTest
public void endReport() {
extent.flush();
extent.close();
}