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

运行成功:

相关推荐
贫民窟的勇敢爷们1 天前
SpringBoot整合AOP切面编程实战,实现日志统一记录+接口权限校验
java·spring boot·spring
AC赳赳老秦1 天前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
迈巴赫车主1 天前
Java基础:list、set、map一遍过
java·开发语言
灵犀学长1 天前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
好家伙VCC1 天前
【无标题】
java
小碗羊肉1 天前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet
吾疾唯君医1 天前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong1 天前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
hexu_blog1 天前
vue+java实现图片批量压缩
java·前端·vue.js
头歌实践平台1 天前
Hadoop开发环境搭建
java·大数据·hadoop