执行TestNG时出现java.lang.NoSuchFieldError: port错误求助
解决
java.lang.NoSuchFieldError: port错误的方案 检查版本兼容性
确保Chrome浏览器、ChromeDriver、Selenium三者版本匹配。比如Chrome 114+对应ChromeDriver 114.x,搭配Selenium 4.9+以上版本,可根据ChromeDriver官方的版本对应表调整。清理依赖冲突
- 查看项目的
pom.xml(Maven)或build.gradle(Gradle),避免重复引入Selenium相关依赖,比如同时引入selenium-java和selenium-chrome-driver,或是不同版本的Selenium依赖。 - 执行
mvn dependency:tree(Maven命令)或类似Gradle命令生成依赖树,定位冲突依赖并排除冗余版本。
- 查看项目的
修正ChromeDriver初始化代码
避免使用已废弃的API,确保初始化代码规范,示例如下:ChromeOptions options = new ChromeOptions(); options.addArguments("--start-maximized"); WebDriver driver = new ChromeDriver(options);不要混用旧版
DesiredCapabilities与新版Selenium,这类不兼容操作容易引发字段找不到的异常。升级依赖到稳定版
若使用的是旧版Selenium,尝试升级至最新稳定版(如Selenium 4.x系列),同时匹配对应版本的ChromeDriver,多数兼容性问题在新版本中已修复。清理项目缓存
- Maven项目:执行
mvn clean install清理并重新构建,清除本地仓库中可能损坏的依赖包。 - Gradle项目:执行
gradle clean build,同时删除项目目录下的.gradle缓存文件夹。
- Maven项目:执行
内容的提问来源于stack exchange,提问作者VINAY KUMAR BU
相关产品推荐
相关产品推荐

