自动化测试无法启动(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 路径");

运行成功:

相关推荐
今天AI了吗11 分钟前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring·机器学习
hexu_blog22 分钟前
springboot3集成shardingsphere4.0 分表分库
java·spring boot·mybatis
乐观的Terry23 分钟前
9、发布系统-Webhook自动发布
java·spring boot·spring·spring cloud·mybatis
PH = 728 分钟前
SpringBoot使用自动装配编写Start包
java·spring boot·后端
逆境不可逃29 分钟前
Java JUC 同步工具类一次讲透:CountDownLatch、CyclicBarrier、Semaphore、Phaser 与 AQS 共享模式
java·开发语言·python
xlq223221 小时前
高并发服务器day5
java·服务器·数据库
our_times1 小时前
【硬核实战】当机器人走进厨房:Java后端如何重构物联网并发与状态一致性`。
java·重构·机器人
一路向北North1 小时前
Spring AI(5) :对话机器人-会话记忆
java·后端·spring
kingwebo'sZone1 小时前
C#事件声明办法
java·前端·c#
冻感糕人~2 小时前
大模型学习指南:收藏这份AI Agent四层工程地图(小白程序员必备)
java·大数据·人工智能·学习·大模型·agent·大模型学习