“空指针访问:变量bn在此位置只能为空”

时间:2017-01-05 10:41:41

标签: selenium

private static void browsername(String CHl) {
        String bn = null;
        if(bn.equalsIgnoreCase("CH"))
        {
         System.setProperty("webdriver.chrome.driver", "E:\\axis banca\\chromedriver.exe");
         driver = new ChromeDriver();
        }
    }
    }

在Java中编写此方法时,当我尝试在“if”中使用它时,我得到这个空指针:

enter image description here

2 个答案:

答案 0 :(得分:0)

这是因为您将bn初始化为null,然后立即尝试评估bn的值。

好像你应该首先为bn分配值?

要添加到下面的评论中,您的代码应该类似于:

private static void browsername(String CHl) {
    String bn = CHl;
    if(bn.equalsIgnoreCase("CH")) {
        System.setProperty("webdriver.chrome.driver", "E:\\axis banca\\chromedriver.exe");
        driver = new ChromeDriver();
    }
}

或:

private static void browsername(String CHl) {
    if(CHl.equalsIgnoreCase("CH")) {
        System.setProperty("webdriver.chrome.driver", "E:\\axis banca\\chromedriver.exe");
        driver = new ChromeDriver();
    }
}

答案 1 :(得分:0)

看看这个代码块:

    String bn = null;
    if(bn.equalsIgnoreCase("CH"))

您使用bn初始化null,然后调用其equalsIgnoreCase方法。由于bnnull,因此它没有equalsIgnoreCase方法,因此NullPointerException。你可能想要这样做

    if(CHl.equalsIgnoreCase("CH"))

编辑:

如果CHl是浏览器名称,例如' Chrome',则您需要一个功能,将浏览器名称转换为您要检查的双字符内容。