title: Selenium Web driver--Failure Screenshot is not captured in TestNG report
body: <p>With below mentioned code,if the test case is pass-screenshot captured successfully and displayed in report.But when the test is failed--screenshot is not displayed.Even screenshot hyperlink is not displayed in report.Anybody can sort out the mistake in code?</p>
  
  <pre><code>package listeners;
  
  import java.io.File;
  import java.io.IOException;
  
  import java.text.Format;
  import java.text.SimpleDateFormat;
  import java.util.Date;
  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.Reporter;
  import org.testng.annotations.Listeners;
  import org.testng.annotations.Test;
  import org.testng.ITestResult;
  import org.testng.Reporter;
  import org.testng.TestListenerAdapter;
  import java.util.logging.Logger;
  
  
  @Listeners
  
  public class CountryChoserLayer extends TestListenerAdapter {
  
  
    @Test(priority=1)
    public void choseCountry() throws Exception{
  
        driver.findElement(By.id("intselect")).sendKeys("India");
          driver.findElement(By.xpath(".//*[@id='countryChooser']/a/img")).click();
          //window.onbeforeunload = null;
          Date date=new Date();
          Format formatter = new SimpleDateFormat("yyyy-MM-dd_hh-mm-ss");        
          File scrnsht = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
          String NewFileNamePath=("C://Documents and Settings//vlakshm//workspace//MyTNG//test-output//Screenshots"+"//SearsINTL_"+ formatter.format(date)+".png");  
          FileUtils.copyFile(scrnsht, new File(NewFileNamePath));
          System.out.println(NewFileNamePath);
          Reporter.log("&lt;a href=\"" + NewFileNamePath + "\"&gt;Passed Screenshot&lt;/a&gt;");
          System.out.println("---------------------------------------");
          System.out.println("Country choser layer test case-Success");
          System.out.println("---------------------------------------");
  
    }
  
  
    public String baseurl="http://www.sears.com/shc/s/CountryChooserView?storeId=10153&amp;catalogId=12605";
    public WebDriver driver;
    public int Count = 0;
  
    @Test(priority=0)
    public void openBrowser() {
  
        driver = new FirefoxDriver();
        driver.manage().deleteAllCookies();
        driver.get(baseurl);
    }
    @Test(priority=2)
    public void closeBrowser() {
       driver.quit(); 
    }
  
  @Override
  public void onTestFailure(ITestResult result){
  
      Reporter.log("Fail");
      System.out.println("BBB");
      //Reporter.setCurrentTestResult(result);     
        Date date=new Date();
        Format formatter = new SimpleDateFormat("yyyy-MM-dd_hh-mm-ss");    
  
  
        File scrnsht = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        //File scrFile = ((TakesScreenshot) WebDriver.globalDriverInstance).getScreenshotAs(OutputType.FILE);
        String NewFileNamePath=("C://Documents and Settings//vlakshm//workspace//MyTNG//test-output//Screenshots"+"//SearsINTL_"+ formatter.format(date)+".png"); 
        //System.out.println("AAA" + NewFileNamePath);
        try {
            //System.out.println("CCC");
          FileUtils.copyFile(scrnsht,new File(NewFileNamePath));
            System.out.println(NewFileNamePath);
  
  
      } catch (IOException e) {
          // TODO Auto-generated catch block
          System.out.println("DDD");
          e.printStackTrace();
      }
        Reporter.log("&lt;a href=\"" + NewFileNamePath + "\"&gt;Failed Screenshot&lt;/a&gt;");
        Reporter.setCurrentTestResult(null);
      System.out.println("---------------------------------------");
      System.out.println("Country choser layer test case Failed");
      System.out.println("---------------------------------------");
  
        }
  
        @Override
        public void onTestSkipped(ITestResult result) {
        // will be called after test will be skipped
          Reporter.log("Skip");
        }
        @Override
        public void onTestSuccess(ITestResult result) {
        // will be called after test will pass
          Reporter.log("Pass");
        }
  
  }
  </code></pre>