IntelliJ无法正确识别chromedriver路径 Java自动化测试路径拼接异常
问题修复方案
你的问题核心是Properties类读取配置时,把配置值两侧多余的双引号当成了路径的一部分,导致系统识别到的路径不是合法的绝对路径,默认拼接了当前项目的工作目录作为前缀。
具体修复步骤
- 第一步:修正
configuration.properties配置项
Properties文件中字符串类型的值不需要额外加双引号,删除配置值两侧的引号即可,修改后配置如下:chrome.driver.location = C:/Users/grzeg/Desktop/Drivers/chromedriver.exe - 第二步:验证配置读取结果
可以在读取配置的方法中增加临时打印逻辑,确认读取到的路径没有多余字符:public static String getChromeWebDriverLocation(){ String path = ConfigurationProperties.getProperties().getProperty("chrome.driver.location"); // 临时打印验证,确认输出的路径没有引号、没有多余前缀 System.out.println("读取到的驱动路径:" + path); return path; } - 第三步:排查工具类的额外逻辑(可选)
如果修改配置后问题仍然存在,检查ConfigurationProperties.getProperties()方法是否存在自定义的路径拼接逻辑,比如默认给相对路径拼接项目根目录的代码,需要补充判断:如果读取到的路径是绝对路径(Windows下以盘符+:开头,Linux/Mac下以/开头),就不要额外拼接前缀。
快速验证方法
你可以先通过硬编码路径的方式排除其他问题,测试下方代码是否可以正常启动驱动:
System.setProperty("webdriver.chrome.driver", "C:/Users/grzeg/Desktop/Drivers/chromedriver.exe"); // 后续初始化ChromeDriver的逻辑
如果硬编码可以正常运行,即可确认问题完全出在配置读取环节,按上述步骤修改配置即可解决。
内容的提问来源于stack exchange,提问作者blofeld
相关产品推荐
相关产品推荐

