使用Selenium WebDriver运行以下脚本时获取Null指针异常[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

public class TestBase {
    public static WebDriver driver = null;
    public static Properties prop = null;
    public TestBase() {
        try {
            prop = new Properties();
            FileInputStream ip = new FileInputStream("C:\\seleniumFolder\\SampleMavenProject\\src\\main\\java\\com\\crm\\qa\\config\\config.properties");
            prop.load(ip);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void initialization() {
        String browsername = prop.getProperty("browser");
        if (browsername.equals("chrome")) {
            System.setProperty("webdriver.chrome.driver", "C:\\seleniumFolder\\chromedriver.exe ");
            driver = new ChromeDriver();
        }
        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();
        driver.manage().timeouts().pageLoadTimeout(TestUtil.PAGE_LOAD_TIMEOUT, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(TestUtil.IMPLICIT_WAIT, TimeUnit.SECONDS);
        driver.get(prop.getProperty("url"));
    }
}
java selenium
1个回答
0
投票

似乎你的FileInputStream ip没有初始化。您必须提供(\\)而不是(\),如下所示:

FileInputStream ip = new FileInputStream("C:\\seleniumFolder\\SampleMavenProject\\src\\main\\java\com\\crm\\qa\\config\\config.properties");

更新

您正在查看java.lang.NullPointerException,因为要执行Java程序,您必须通过main()方法或@Test注释方法(如果使用TestNG)启动执行。

因此,如果您想通过main()方法执行此程序,则必须将public static void initialization()方法的当前代码放入public static void main(String[] args)方法并将该程序作为Java程序执行。

你可以在How to write Selenium Java Application code in IDE through main() and TestNG找到详细的讨论

© www.soinside.com 2019 - 2024. All rights reserved.