Module18 :java.lang.NullPointerException | Selenium Forum
M
Posted on 14/10/2016
Hi,

I started doing the module 18 JUNIT Data Driven Framework. I just implemented as per guidelines , i just implemented logintest as per part2 and trying to run standalone LogiinTest.Java file i am getting
"java.lang.NullPointerException"
Note: I am Using Selenium 2.52.0 and firefox 42.0
here is my stack trace and i am attaching zip folder which have all files.

Stack Trace:

java.lang.NullPointerException
at org.openqa.selenium.support.events.EventFiringWebDriver.extractInterfaces(EventFiringWebDriver.java:119)
at org.openqa.selenium.support.events.EventFiringWebDriver.<init>(EventFiringWebDriver.java:91)
at Tests.TestBase.initialize(TestBase.java:56)
at Tests.LoginTest.beforeTest(LoginTest.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

//*************************************************************************
package Tests;

import java.io.IOException;

import org.junit.Before;
import org.junit.Test;

import Util.TestUtil;

public class LoginTest extends TestBase {

@Before

public void beforeTest() throws IOException
{
initialize();
}

@Test
public void loginTest() throws InterruptedException
{
driver.get(CONFIG.getProperty("testSiteName"));

TestUtil.doLogin("kmanjula613@gmail.com", "password12345");


if (!isLoggedIn)
{
System.out.println("Invalid username password");
}
}}


*******************************************************************************

package Tests;

import java.io.FileNotFoundException;


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.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.events.EventFiringWebDriver;
import java.util.Properties;
public class TestBase {


//public static Properties CONFIG = null;
public static Properties CONFIG = null;
public static Properties OR =null;
public static WebDriver dr =null;
public static EventFiringWebDriver driver =null;
public static boolean isLoggedIn = false;

public void initialize() throws IOException
{
if(driver == null)
{
CONFIG = new Properties();
FileInputStream fn = new FileInputStream(System.getProperty("user.dir")+"\\src\\Config\\Config.properties");
CONFIG.load(fn);

OR = new Properties();
fn = new FileInputStream(System.getProperty("user.dir")+"\\src\\Config\\OR.properties");
OR.load(fn);

//initialize webdriver

if(CONFIG.getProperty("browser").equals("Firefox"))
{

dr = new FirefoxDriver();


}
else if (CONFIG.getProperty("browser").equals("IE"))
{
dr = new InternetExplorerDriver();
}


driver = new EventFiringWebDriver(dr);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

}

}
public static WebElement getObject(String xpathkey)
{
try{
return driver.findElement(By.xpath(OR.getProperty(xpathkey)));
}
catch(Throwable t)
{
return null;
}


}
}


Please guide what went wrong i am struck

M
Replied on 15/10/2016

try to print this statement before initializing webdriver.

system.out.print(CONFIG.getProperty("browser"));

i think your config file is misplaced


M
Replied on 24/10/2016

Thanks,
i had given double quotes in config file got it fixed


thanks alot