Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

selenium - java.lang.NullPointerException is appearing

I am new in automation. Here is my simple TestNG login code , when I ran the code as TestNG it appears java.lang.NullPointerException and by double clicking it highlights the place where I navigate to the URL. here is my code.

enter code here
package Day5pkg;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class Day5 {
    public WebDriver driver;
@BeforeTest
      public void beforeTest() {
          System.setProperty("webdriver.firefox.driver","C:\Users\Nabila\Downloads\geckodriver-v0.26.0-win64\geckodriver.exe");

          FirefoxOptions options = new FirefoxOptions();
            driver.navigate().to("http://www.demo.guru99.com/V4/");
            driver.manage().timeouts().implicitlyWait(300, TimeUnit.SECONDS);
            options.addArguments("test-type");
            options.addArguments("start-maximized");
            options.addArguments("--js-flags=--expose-gc");  
            options.addArguments("--enable-precise-memory-info"); 
            options.addArguments("--disable-popup-blocking");
            options.addArguments("--disable-default-apps");
            options.addArguments("test-type=browser");
            options.addArguments("disable-infobars");

      }
  @Test  (priority = 0)
    public void login(){
      driver = new FirefoxDriver();

         driver.findElement(By.name("uid")).sendKeys("mngr231");
         driver.findElement(By.name("password")).click();
         driver.findElement(By.name("password")).sendKeys("ehyjusu");
         driver.findElement(By.name("btnLogin")).click();
            System.out.println("Manger Id : mngr230");
      }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You have only declared the WebDriver instance as:

public WebDriver driver;

You need to initialize it too as follows:

driver = new FirefoxDriver();

Along with the instance of FirefoxOptions() your effective code block will be:

System.setProperty("webdriver.firefox.driver","C:\Users\Nabila\Downloads\geckodriver-v0.26.0-win64\geckodriver.exe");
FirefoxOptions options = new FirefoxOptions();
options.addArguments("test-type");
options.addArguments("start-maximized");
options.addArguments("--js-flags=--expose-gc");  
options.addArguments("--enable-precise-memory-info"); 
options.addArguments("--disable-popup-blocking");
options.addArguments("--disable-default-apps");
options.addArguments("test-type=browser");
options.addArguments("disable-infobars");
driver = new FirefoxDriver(options);
driver.navigate().to("http://www.demo.guru99.com/V4/");
driver.manage().timeouts().implicitlyWait(300, TimeUnit.SECONDS);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...