自动化测试无法启动(java.net.SocketException)

在运行测试代码,对浏览器进行自动化操作时,遇到了以下问题,添加依赖,编写了测试代码,但是程序无法运行

这个有两种原因(我使用的是谷歌浏览器):

  1. 网络问题: 因为需要从GitHub上下载对应包,所以有时候可能会出现网络问题,这个时候可以打开VPN之后,重新对程序进行启动

  2. 浏览器版本过高,导致webdrivermanager中没有对应版本的驱动,此时可以改用 5.9.2及以上的版本重新尝试

如果以上方法都无法解决问题,就需要手动下载对应驱动 chrome依赖

因为原网站的问题,这个网址需要使用VPN来下载

或者从我的网盘下载:

链接: https://pan.baidu.com/s/13U2wgxHGhm7gL3quE_OaVQ?pwd=729b 提取码: 729b

但是记得查看自己的版本是否跟我一样

下载之后放入本地路径(要保证你能找到),路径中最好不要出现特殊字符(我直接将他放进了我的maven文件中)

然后更新代码

原代码:

java 复制代码
public static void main(String[] args) throws InterruptedException {
    //驱动程序自动化
    WebDriverManager.chromedriver().setup();
    ChromeOptions options = new ChromeOptions();

    //允许访问所有连接
    options.addArguments("--remote-allow-origins=*");

    //设置完基础设置之后,就开始进行操作
    //1.打开对应的浏览器(首先要创建一个驱动对象)
    WebDriver webDriver = new ChromeDriver(options);
    Thread.sleep(5000);
    //2.输入对应网址,这里访问百度
    webDriver.get("https://www.baidu.com");
    Thread.sleep(5000);
    //3.找到输入框并进行搜索操作
    webDriver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("CSDN");
    Thread.sleep(5000);
    //4.找到搜索按钮
    webDriver.findElement(By.xpath("//*[@id=\"su\"]")).click();
    Thread.sleep(5000);
    //5.关闭浏览器
    webDriver.close();
}

新代码:

java 复制代码
public static void main(String[] args) throws InterruptedException {
    //驱动程序自动化
    // 设置本地 ChromeDriver 路径
    System.setProperty("webdriver.chrome.driver", "设置本地 ChromeDriver 路径");
    ChromeOptions options = new ChromeOptions();

    //允许访问所有连接
    options.addArguments("--remote-allow-origins=*");

    //设置完基础设置之后,就开始进行操作
    //1.打开对应的浏览器(首先要创建一个驱动对象)
    WebDriver webDriver = new ChromeDriver(options);
    Thread.sleep(5000);
    //2.输入对应网址,这里访问百度
    webDriver.get("https://www.baidu.com");
    Thread.sleep(5000);
    //3.找到输入框并进行搜索操作
    webDriver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("CSDN");
    Thread.sleep(5000);
    //4.找到搜索按钮
    webDriver.findElement(By.xpath("//*[@id=\"su\"]")).click();
    Thread.sleep(5000);
    //5.关闭浏览器
    webDriver.close();
}

修改部分:

java 复制代码
//原代码
//驱动程序自动化
    WebDriverManager.chromedriver().setup();

//更新
// 设置本地 ChromeDriver 路径
    System.setProperty("webdriver.chrome.driver", "设置本地 ChromeDriver 路径");

运行成功:

相关推荐
qfljg4 小时前
OpenRewrite 实战指南
java
Sylvia33.4 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
2601_962071579 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
weixin_4407305010 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
zww894911110 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·eclipse
zww894911113 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
黑马程序员毕设14 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳14 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
白山编程大哥14 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
devpotato15 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis