[软件自动化测试] 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
目录
相关文章
|
16天前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
45 11
|
2月前
|
测试技术 开发者 Python
自动化测试之美:从零构建你的软件质量防线
【10月更文挑战第34天】在数字化时代的浪潮中,软件成为我们生活和工作不可或缺的一部分。然而,随着软件复杂性的增加,如何保证其质量和稳定性成为开发者面临的一大挑战。自动化测试,作为现代软件开发过程中的关键实践,不仅提高了测试效率,还确保了软件产品的质量。本文将深入浅出地介绍自动化测试的概念、重要性以及实施步骤,带领读者从零基础开始,一步步构建起属于自己的软件质量防线。通过具体实例,我们将探索如何有效地设计和执行自动化测试脚本,最终实现软件开发流程的优化和产品质量的提升。无论你是软件开发新手,还是希望提高项目质量的资深开发者,这篇文章都将为你提供宝贵的指导和启示。
|
21天前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
73 19
Selenium IDE:Web自动化测试的得力助手
|
23天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
133 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
2月前
|
消息中间件 前端开发 Java
【国产化软件】接口开放平台:Java+Swagger+Vue3,适配移动端
本文档介绍了基于Java的开放平台技术栈及使用流程,涵盖从注册开发者账号、创建应用、申请令牌到调用API接口的全过程。平台提供丰富的接口管理和统计功能,支持开发者在线维护个人资料和接口令牌,同时兼容移动设备访问和黑夜模式。技术栈方面,后端采用Spring Boot 3 + MySQL + Redis + RabbitMQ + Nacos,前端则基于Vue3 + TypeScript 5.x + Element Plus + UnoCSS。访问开放平台的地址为:http://java.test.yesapi.cn/platform/。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【10月更文挑战第35天】在软件开发的海洋中,自动化测试犹如一艘救生艇,它帮助团队确保产品质量,同时减少人为错误。本文将探索如何通过集成人工智能(AI)技术,使自动化测试更加智能化,从而提升软件测试的效率和准确性。我们将从AI在测试用例生成、测试执行和结果分析中的应用出发,深入讨论AI如何重塑软件测试领域,并配以实际代码示例来说明这些概念。
69 3
|
2月前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
57 2
|
3月前
|
敏捷开发 监控 jenkins
自动化测试之美:打造高效的软件质量保障体系
【10月更文挑战第20天】在软件开发的海洋中,自动化测试如同一艘精准的导航船,引领项目避开错误的礁石,驶向质量的彼岸。本文将扬帆起航,探索如何构建和实施一个高效的自动化测试体系,确保软件产品的稳定性和可靠性。我们将从测试策略的制定、工具的选择、脚本的编写,到持续集成的实施,一步步描绘出自动化测试的蓝图,让读者能够掌握这一技术的关键要素,并在自己的项目中加以应用。
38 5
|
3月前
|
Java 测试技术 持续交付
探索自动化测试的奥秘:提升软件质量的关键
【10月更文挑战第20天】 在当今快速发展的软件行业中,自动化测试已成为确保产品质量和加速开发周期的重要工具。本文将深入探讨自动化测试的核心概念、实施策略及其对软件开发生命周期的影响,旨在为读者提供一种全面理解自动化测试的视角,并展示如何有效地将其应用于实际项目中以提高软件质量和效率。
31 2

热门文章

最新文章