title: org.testng.TestNGException : Cannot instantiate class
body: <p>I am facing this 'Cannot insantiate class' error on running one of my test cases in selenium webdriver using java(Using Maven project).</p>
  
  <p>Below is the parent class where I defined driver and properties</p>
  
  <pre><code>package com.pvi.qa.base;
  
  import java.io.FileInputStream;
  import java.io.FileNotFoundException;
  import java.io.IOException;
  import java.util.Properties;
  import java.util.concurrent.TimeUnit;
  
  import org.openqa.selenium.WebDriver;
  import org.openqa.selenium.chrome.ChromeDriver;
  
  public class TestBase {
  
      public static WebDriver driver;
      public static Properties prop ;
  
      public TestBase() {
          try {
              prop = new Properties();
              FileInputStream ip = new FileInputStream(System.getProperty("C:\\Users\\RxLogix\\eclipse-workspace\\PviIntake\\src\\main\\java\\com\\pvi\\qa\\config\\config.properties"));
          prop.load(ip);
  
          }
          catch(FileNotFoundException e) {
              e.printStackTrace();
          }
          catch(IOException e) {
              e.printStackTrace();
          }
      }
  
  public static void initialization () {
  String BrowserName = prop.getProperty("browser");   
  if(BrowserName.equals("chrome")) {
      System.setProperty("webdriver.chrome.driver", "D:\\Softwares\\chromedriver_win32 (1)\\chromedriver.exe");
      driver = new ChromeDriver();}
  driver.manage().window().maximize();
  driver.manage().deleteAllCookies();
  driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
  driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
  driver.get(prop.getProperty("url"));
  }
  }
  </code></pre>
  
  <p>Below is the test cases class which I am running through TestNG</p>
  
  <pre><code>package com.pvi.qa.testcases;
  
  import org.testng.annotations.AfterMethod;
  import org.testng.annotations.BeforeMethod;
  import org.testng.annotations.Test;
  
  import com.pvi.qa.base.TestBase;
  import com.pvi.qa.pages.HomePage;
  import com.pvi.qa.pages.LoginPage;
  
  public class LoginPageTest extends TestBase{
      LoginPage loginPage;
      HomePage homePage;
  
  
      public LoginPageTest() {
          super();
          }
  
      @BeforeMethod
      public void setUp() {
          initialization();
          loginPage = new LoginPage();
      }
  
  
      @Test
      public void logintest() {
          homePage = loginPage.login(prop.getProperty("username"), prop.getProperty("password"));
      }
  
      @AfterMethod
      public void tearDown() {
          driver.quit();
      }
  
  }
  </code></pre>
  
  <p>And below is the error I am getting - </p>
  
  <pre><code>[RemoteTestNG] detected TestNG version 6.14.3
  org.testng.TestNGException: 
  Cannot instantiate class com.pvi.qa.testcases.LoginPageTest
      at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:30)
      at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423)
      at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336)
      at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125)
      at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190)
      at org.testng.TestClass.getInstances(TestClass.java:95)
      at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:81)
      at org.testng.TestClass.init(TestClass.java:73)
      at org.testng.TestClass.&lt;init&gt;(TestClass.java:38)
      at org.testng.TestRunner.initMethods(TestRunner.java:389)
      at org.testng.TestRunner.init(TestRunner.java:271)
      at org.testng.TestRunner.init(TestRunner.java:241)
      at org.testng.TestRunner.&lt;init&gt;(TestRunner.java:192)
      at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33)
      at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)
      at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713)
      at org.testng.SuiteRunner.init(SuiteRunner.java:260)
      at org.testng.SuiteRunner.&lt;init&gt;(SuiteRunner.java:198)
      at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
      at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
      at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
      at org.testng.TestNG.runSuites(TestNG.java:1049)
      at org.testng.TestNG.run(TestNG.java:1017)
      at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
      at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
      at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
  Caused by: java.lang.reflect.InvocationTargetException
      at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
      at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:24)
      ... 25 more
  Caused by: java.lang.NullPointerException
      at java.base/java.io.FileInputStream.&lt;init&gt;(Unknown Source)
      at java.base/java.io.FileInputStream.&lt;init&gt;(Unknown Source)
      at com.pvi.qa.base.TestBase.&lt;init&gt;(TestBase.java:20)
      at com.pvi.qa.testcases.LoginPageTest.&lt;init&gt;(LoginPageTest.java:17)
      ... 30 more
  </code></pre>
  
  <p>I have tried everything but not worked for me, Please let me know why I am getting this error. Thanks </p>