[软件自动化测试] selenium java环境配置

简介: 介绍了包括选择Gradle构建,关闭Gradle Wrapper的默认下载,修改`gradle-wrapper.properties`以使用腾讯云镜像,以及更新`build.gradle`文件添加国内仓库和Selenium依赖。在测试驱动部分,创建了一个简单的JUnit测试用例,展示了如何初始化Edge浏览器并访问网站。运行测试时可能出现关于CDP版本不匹配的警告,可以通过升级Selenium依赖中的CDP版本来解决。推荐根据[Selenium库网页](https://search.maven.org/search?q=g:org.seleniumhq.selenium)提供的版本信息进行升级

前提

  1. 安装好java环境
  2. 有idea

创建项目

1. 选择 gradle groovy
image.png
2.首先关闭gradle wrapper的下载(网速好可以直接下载)
image.png

配置 gradle 环境

i. 如果下载gradle wrapper超时,可以修改为国内镜像

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
# 国内镜像,加快下载
distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-7.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

ii. build.gradle 文件替换成如下内容

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'


compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

// 这边全部换成国内仓库
repositories {
    mavenLocal()
    maven { url 'https://maven.aliyun.com/repository/public/' }
    maven { url 'https://maven.aliyun.com/repository/spring/'}
    maven { url 'https://maven.aliyun.com/repository/google/'}
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin/'}
    maven { url 'https://maven.aliyun.com/repository/spring-plugin/'}
    maven { url 'https://maven.aliyun.com/repository/grails-core/'}
    maven { url 'https://maven.aliyun.com/repository/apache-snapshots/'}
    mavenCentral()
}

dependencies {
    testImplementation 'junit:junit:4.13.2'
    //火狐 或者 Edge chrome 都可以
    // 4.12版本可能会不兼容cdp 117(就是最新的edge浏览器),报warning但是没啥影响
    // 截至2024.4.13号最新版本为 4.19.1
    // 如果版本无法驱动可以自己升级,理论上不会有啥影响

    implementation 'org.seleniumhq.selenium:selenium-edge-driver:4.12.1'
    //implementation 'org.seleniumhq.selenium:selenium-firefox-driver:4.12.1'
    //implementation 'org.seleniumhq.selenium:selenium-chrome-driver:4.12.1'

    implementation 'org.seleniumhq.selenium:selenium-remote-driver:4.12.1'
    implementation 'org.seleniumhq.selenium:selenium-support:4.12.1'
    implementation 'org.seleniumhq.selenium:selenium-remote-driver:4.12.1'
}

iii. 等待依赖下载完成,即可开始编码

测试驱动

i. 在 src/test/java 测试类
image.png

ii. Case1中填入如下的代码

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;

public class Case1 {
   
   
    // 测试注解
    @Test
    public void test1() throws InterruptedException {
   
   
        // 初始化驱动
        WebDriver webDriver = new EdgeDriver();
        // 打开网页
        webDriver.get("https://www.bing.com");
        // 睡觉1.5s
        Thread.sleep(1500L);
        // 推出网页
        webDriver.quit();
    }
}

iii. 运行测试代码
image.png

iv. 不难发现控制台有警告

警告: Unable to find CDP implementation matching 123
四月 13, 2024 10:43:20 下午 org.openqa.selenium.chromium.ChromiumDriver lambda$new$5
警告: Unable to find version of CDP to use for 123.0.2420.97. You may need to include a dependency on a specific version of the CDP using something similar to `org.seleniumhq.selenium:selenium-devtools-v86:4.12.1` where the version ("v86") matches the version of the chromium-based browser you're using and the version number of the artifact is the same as Selenium's.
  • 这时你可以选择升级gradle中填写的版本

selenium库网页

  1. 可以按照这个网站提供的版本对应升级(修改build.gradle中的版本)
    image.png
相关文章
|
7月前
|
人工智能 前端开发 Java
2025年WebStorm高效Java开发全指南:从配置到实战
WebStorm 2025不仅是一款强大的JavaScript IDE,也全面支持Java开发。本文详解其AI辅助编程、Java特性增强及性能优化,并提供环境配置、高效开发技巧与实战案例,助你打造流畅的全栈开发体验。
641 4
|
4月前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
211 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
8月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
254 56
|
7月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
|
8月前
|
测试技术
软考软件测评师大题——案例分析之白盒测试
历年下午案例试题一固定考察白盒测试,主要包含三大核心问题:推导逻辑条件、绘制控制流图及计算环路复杂度、确定线性无关路径集合。内容涵盖覆盖层级标准(语句、分支、判定、条件覆盖等)、控制流图构建规范(顺序、分支、循环结构转换原则)、环路复杂度计算公式以及线性无关路径生成方法。通过典型题型示例解析,如代码路径分析与验证指标,帮助考生掌握解题思路和技巧。
|
8月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。