How to capture the screenshot of failed testcase only among a set of testcases?

Answers were Sorted based on User's Feedback



How to capture the screenshot of failed testcase only among a set of testcases?..

Answer / suresh vemula

First we have to create a method of screen shot using java.

After that we have annotation in testng to identify the failure test case or methods using "iTestResult"

This iTestResult using only where annotation in aftermethod

@Aftermethod
Public void test(iTestResult.FAILURE==result.getStatus()){

Utility.screenshot(driver,result.getname());
}

Here utility.screenshot is java class to created for screenshot

Here getName() returns the failure test case name
Then you have to identify the failure test easily

Is This Answer Correct ?    3 Yes 0 No

How to capture the screenshot of failed testcase only among a set of testcases?..

Answer / kiran212

package TestNG;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.ITestResult;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class Screenshot {
WebDriver driver;
@BeforeClass
public void setup() {
driver = new FirefoxDriver();
driver.get("http://google.com");
}

@Test
public void tc01() {
driver.findElement(By.xpath("wrong xpath"));
}
@Test
public void tc02(){

System.out.println(driver.getTitle());

}

@AfterClass
public void browserKill() {
driver.close();
}
//screenshot method for failure test cases
@AfterMethod(alwaysRun=true)
public void takeScreenShot(ITestResult result) throws IOException{
if(result.getStatus()==2){
String testName = result.getMethod().getMethodName();
File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(srcFile, new File("D://"+testName+".jpeg"));
}
}
}

Is This Answer Correct ?    2 Yes 1 No

Post New Answer

More Selenium Interview Questions

What methods of robot class do you know?

0 Answers  


What is an explicit wait in selenium?

0 Answers  


What are the different Selenium components?

0 Answers  


What is selenese and what are the types of selenese?

0 Answers  


Write a code snippet to perform right-click an element in webdriver.

0 Answers  






How many types of locators are there in selenium?

0 Answers  


How do you handle Alerts and Pop Ups?

3 Answers   HCL,


How to connect a database in selenium?

0 Answers  


Tell me how can you handle network latency using selenium?

1 Answers  


In which format does source view shows your script in selenium ide?

0 Answers  


What are the different types of waits available in webdriver?

0 Answers  


My application uses ajax heavily how do I use selenium rc to work with ajax operations?

0 Answers  


Categories