Wie kann ich die initialisieren web-Fahrer weltweit?

Arbeite ich an automation mit selenium webdriver , java. Immer nullpointerexception und es sagt der Treiber ist null.

Meine code-Struktur ist unten angegeben :

- Paket Utility

  • Basisklasse
  • Login-Klasse
  • App_constant Klasse

Paket Hinzufügen Benutzer

  • Benutzer hinzufügen Klasse

Utility package code :

 package Utility;

 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.chrome.ChromeDriver;

public class Base {

public static WebDriver driver = null;


//CALL WEB BROWSER AND OPEN WEBSITE
public static void openURL()
{

    try{

    System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.get(Constant_value_utility.URL);
    }catch(Exception E)

    {
        E.printStackTrace();


    }
}

 }

package Utility;

public class Constant_value_utility {


//OPEN URL
public static final String URL = "Site URL";


//LOGIN FIELDS
public static final String loginbox = "UserName";
public static final String passbox = "Password";

//LOGIN DATA
public static final String username = "test";
public static final String password = "test";
public static final String loginbt = "btnsubmit";

  }

 package Utility;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;


 public class Login_Page {

public static WebDriver driver;


public static void login()
{

       Base.openURL();


       driver.manage().window().maximize();

       driver.findElement(By.id(Constant_value_utility.loginbox)).sendKeys(Constant_value_utility.username);
       driver.findElement(By.id(Constant_value_utility.passbox)).sendKeys(Constant_value_utility.password);
       driver.findElement(By.id(Constant_value_utility.loginbt)).click();

  }

}


Benutzer hinzufügen Paket code

package Adduser;
import Utility.Base;
 import Utility.Login_Page;

 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.chrome.ChromeDriver;

 public class Add_User {

  public static void main(String[] args){
   {


    //LOGIN TO SITE
     Base.openURL();
     Login_Page.login();
    }}}

Nun Meine Frage ist ich habe bereits öffentliche statische Methode openurl() in der Basisklasse und webdriver ist initialisiert es. Aber Wenn ich dieselbe Methode in einer anderen Klasse der gleichen Paket und die anderen Pakete , Warum es bei mir zu einer nullpointerexception für webdriver?

Ist das notwendig, code zu schreiben, initialisieren, webdriver und rufen Sie den browser in jeder Klasse. Wie kann ich die initialisieren web-Fahrer weltweit, so erkläre ich es einmal nennen können, wo jeder in meinem Projekt.

Schreibe einen Kommentar