WebDriverManager中出现空指针异常问题咨询
排查WebDriverManager使用中的Null Pointer Exception问题
嘿,这个问题很典型,我一眼就找到了根源——你调用了WebDriverManager.chromedriver().setup(),但完全没实例化WebDriver对象!
问题原因拆解
WebDriverManager.setup()的作用仅仅是帮你自动下载、配置ChromeDriver的系统路径,它不会帮你创建WebDriver实例。你的driver变量一开始是null,执行完setup()后依然是null,这时候调用driver.get()肯定会触发空指针异常。
修复后的代码
只需要在setup()之后添加一行实例化代码就行,同时别忘了导入必要的类:
package base; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import io.github.bonigarcia.wdm.WebDriverManager; public class Page{ public static WebDriver driver; public Page() { if(driver==null) { WebDriverManager.chromedriver().setup(); // 关键步骤:给driver赋值,创建ChromeDriver实例 driver = new ChromeDriver(); driver.get("https://www.zoho.com/"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } } }
额外提醒
- 确保你的项目里已经正确引入了WebDriverManager、Selenium Java的依赖,不然会出现编译错误。
- 另外,使用静态
driver在单线程测试场景下没问题,但如果是多线程并行测试,可能会出现线程安全问题,到时候可能需要调整为非静态的实例化方式。
内容的提问来源于stack exchange,提问作者vaishnavi A.N.
相关产品推荐
相关产品推荐

