title: Unable to take screenshot in Selenium
body: <p>I am trying to capture a screenshot for each failure occurrence and written following code, but this is not working. </p>
  
  <pre><code>public class TestFile {
  
      WebDriver driver = new FirefoxDriver();
  
      @Test   
      public void Testone(){
          driver.get("http://www.google.com/");           
      }
  
      @AfterMethod(alwaysRun=true)
      public void catchExceptions(ITestResult result){
          System.out.println("result"+result);
          String methodName = result.getName();
          System.out.println(methodName);
  
          if(!result.isSuccess()){         
              try { 
                  File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
                  FileUtils.copyFile(scrFile,new File("C:\\screenshot2.png" ));
              } catch (IOException e1) {
                  e1.printStackTrace();
              }       
          }
      }
  }
  </code></pre>
  
  <hr>
  
  <p>This is failing at </p>
  
  <blockquote>
    <p>File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);</p>
  </blockquote>
  
  <hr>
  
  <p><b>stack trace:</b></p>
  
  <pre><code>[TestNG] Running:
  C:\Documents and Settings\537310\Local Settings\Temp\testng-eclipse-1576306112\testng-customsuite.xml
  
  result[TestResult name=Testone status=FAILURE method=TestFile.Testone()[pri:0, instance:com.example.tests.TestFile@1b34126] output={null}]
  FAILED CONFIGURATION: @AfterMethod catchExceptions([TestResult name=Testone status=FAILURE method=TestFile.Testone()[pri:0, instance:com.example.tests.TestFile@1b34126] output={null}])
  net.sf.cglib.core.CodeGenerationException: java.lang.IllegalAccessException--&gt;Class org.openqa.selenium.remote.Augmenter$CompoundHandler can not access a member of class org.openqa.selenium.firefox.FirefoxDriver with modifiers "protected"
  at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:235)
  </code></pre>
  
  <p><b>list of imports:</b></p>
  
  <pre><code>package com.example.tests;
  import org.testng.annotations.Test;
  import java.io.File;
  import java.io.IOException;
  import java.text.SimpleDateFormat;
  import java.util.Calendar;
  import org.apache.commons.io.FileUtils;
  import org.junit.Before;
  import org.openqa.selenium.OutputType;
  import org.openqa.selenium.TakesScreenshot;
  import org.openqa.selenium.WebDriver;
  import org.openqa.selenium.firefox.FirefoxDriver;
  import org.openqa.selenium.remote.Augmenter;
  import org.openqa.selenium.remote.RemoteWebDriver;
  import org.testng.ITestResult;
  import org.testng.annotations.AfterMethod;
  import org.testng.annotations.BeforeTest;
  import org.testng.annotations.Test;  
  </code></pre>