I am trying to run 2 testcases from same class but test case PatientSearchTest getting passed and second one getting Failed, Its giving NullPointerException. Here is code of BaseClass
public class BaseClassTest {
ReadConfig readconfig = new ReadConfig();
public String baseURL = readconfig.getApplicationURL();
public String username =readconfig.getUsername();
public String password = readconfig.getPassword();
public static WebDriver driver;
// public static Logger Logger;
@Parameters("browser")
@BeforeClass
public void setUp(String br)
{
/*System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"\\Drivers\\chromedriver.exe");
System..getProperty can be used only in java classes & ./--> in java classes & in properties*/
if(br.equals("chrome"))
{
System.setProperty("webdriver.chrome.driver",readconfig.getChromePath());
driver = new ChromeDriver();
}
else if (br.contentEquals("firefox"))
{
System.setProperty("webdriver.gecko.driver",readconfig.getFirefoxPath());
driver = new FirefoxDriver();
}
else if(br.contentEquals("ie"))
{
System.setProperty("webdriver.ie.driver",readconfig.getIEPath());
driver = new InternetExplorerDriver();
}
driver.get(baseURL);
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().pageLoadTimeout(20,TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
}
@AfterClass
public void tearDown() {
driver.quit();
}
public void login()
{
LoginPage lp = new LoginPage(driver);
lp.setUserName(username);
lp.setPassword(password);
lp.clickSubmit();
}
Here is code of class file
public class CM_TC01_PatientSearchTest extends BaseClassTest {
CM_PatientSearchPage ps = new CM_PatientSearchPage(driver);
@BeforeClass
public void loginintoApp()
{
login();
}
@Test(priority=1)
public void PatientSearchTest() throws Exception
{
ExtentTestManager.getTest().log(Status.INFO,"Hey i am in Patient Search Test");
Thread.sleep(2000);
ps.hoverTest();
ps.clickContractOptionTextbox();
ps.selectContractOption();
ps.enterPatientName("Peggy");
Thread.sleep(2500);
}
@Test(priority=2)
public void clearRecordsButton() throws Exception
{
CM_PatientSearchPage ps = null;
ps.clearPatientSearchRecords();
}
}
Here is code of testng.xml file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="" parallel="false">
<listeners>
<listener class-name="com.hospital.extentReport.TestListener"/>
</listeners>
<test name="PPP Test">
<parameter name="browser" value="chrome"/>
<classes>
<class name="com.hospitalanalytics.testCases.CM_TC01_PatientSearchTest"/>
</classes>
</test> <!-- Test -->/>
</suite> <!-- Suite -->
Anyone can help me out? WIll be a great help to me. Thanks in advance.