我的Selenium脚本中出现空指针异常?

时间:2016-10-11 09:31:57

标签: java selenium

    enter code here
import java.util.ArrayList;

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


public class ArrayLiist {

    public static void main(String[] args) {
        launchBrowser("CH");
        WebDriver driver=null;
driver.findElement(By.id("user_login")).sendKeys("admin");
        driver.findElement(By.id("user_pss")).sendKeys("demo123");
        driver.findElement(By.id("wp-submit")).click(); 


    }



    public  static void launchBrowser(String bn) {
        if(bn=="CH")
        {
        System.setProperty("webdriver.chrome.driver","E:\\Selenium Downloaded\\chrome\\chromedriver.exe");
         ChromeDriver driver = new ChromeDriver();
        driver.get("http://demosite.center/wordpress/wp-admin/plugins.php");
        }


}
}

我认为司机没有被识别出来?我已经设置了webdriver = null,它仍然显示空指针异常

线程“main”java.lang.NullPointerException中的异常     在ArrayLiist.main(ArrayLiist.java:13)

1 个答案:

答案 0 :(得分:0)

您永远不会使用对象初始化Driver,只能使用null

初始化它
WebDriver driver=null;

这就是你获得NPE的原因。

将其声明为全局变量而不是局部变量:

WebDriver driver=null;

   public static void main(String[] args) {
        launchBrowser("CH");
        driver.findElement(By.id("user_login")).sendKeys("admin");
        driver.findElement(By.id("user_pss")).sendKeys("demo123");
        driver.findElement(By.id("wp-submit")).click(); 



}



public  static void launchBrowser(String bn) {
    if(bn.equals("CH"))
    {
    System.setProperty("webdriver.chrome.driver","E:\\Selenium Downloaded\\chrome\\chromedriver.exe");
     driver = new ChromeDriver();
    driver.get("http://demosite.center/wordpress/wp-admin/plugins.php");
    }

}

并使用equals方法比较字符串