-2

I am new to this java Selenium.

I have 2 classes. 1 parent and 1 child.

I have some methods in the parent class.

I pass 2 of them to the child class.

The problem is only 1 method (from the parent) executes and the 2nd failed.

can you help me to understand why I am getting the error and how to resolve it please :

"java.lang.NullPointerException"

Parent class :

public class SignUp {

public WebDriver driver;

    public void go(WebDriver driver)
    {
    driver.findElement(By.id("id_sign_up")).click();
    }
        @Test
        public void signup(WebDriver driver)
        
        {
            driver.findElement(By.linkText("I’m an advertiser")).click();
        }
        

            public void FormSign (WebDriver driver)
            
            {
                driver.findElement(By.xpath("//span[@css='1']")).sendKeys("Miron");
            }

        

}

Child class :

public class OpenBrowser extends SignUp{


@Test
public void Start() throws InterruptedException
{   
    
    System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Selenium\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://account.admitad.com/en/sign_in/");
    SignUp sg = new SignUp();
    sg.go(driver);
    //sg.signup(driver);
    
}

@Test
public void miron ()
{
    SignUp mi = new SignUp();
    mi.signup(driver);
}

Can someone please help me? Thanks in advance

S. Hesam
  • 5,266
  • 3
  • 37
  • 59

1 Answers1

0
    Ans: WebDriver driver object is inside Start().
 Object declaration should be defined out side. Then all methods can access driver obj.
    
     public class SignUp {    
        public WebDriver driver;    
            public void go(WebDriver driver)
            {
            driver.findElement(By.id("id_sign_up")).click();
            }
                //@Test
            public void signup(WebDriver driver)
            {
             driver.findElement(By.linkText("I’m an advertiser")).click();
             }
                
              public void FormSign (WebDriver driver)
              {
                  driver.findElement(By.xpath("//span[@css='1']")).sendKeys("Miron");
              } 
                
        }
        /*******************/
        public class OpenBrowser extends SignUp{
        
        WebDriver  driver = null;
        
        @BeforeTest
        public void setUp() {
        System.setProperty("webdriver.chrome.driver", "C:\\Drivers\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://account.admitad.com/en/sign_in/");
        }
            
        @Test
        public void Start() throws InterruptedException
        {       
            SignUp sg = new SignUp();
            sg.go(driver);
            //sg.signup(driver);                
        }            
        @Test
        public void miron ()
        {
            SignUp mi = new SignUp();
            mi.signup(driver);
        }
        }