[软件自动化测试] 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
相关文章
|
6月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
185 4
|
7月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
311 13
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
410 86
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
472 67
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
1750 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1771 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
456 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
XML JSON 前端开发
阿里云JAVA高级测试试题及答案(十二)
阿里云JAVA高级测试试题及答案
351 0
阿里云JAVA高级测试试题及答案(十一)
阿里云JAVA高级测试试题及答案
298 0
|
XML 缓存 druid
阿里云JAVA高级测试试题及答案(十)
阿里云JAVA高级测试试题及答案
387 0