Selenium+Java环境搭建(测试系列6)
目录
前言:
1.浏览器
1.1下载Chrome浏览器
1.2查看Chrome浏览器版本
1.3下载Chrome浏览器的驱动
2.配置系统环境变量path
3.验证是否成功
4.出现的问题
结束语:
前言:
这节中小编给大家讲解一下有关于Selenium + Java环境的搭建,来方便我们后续再自动化测试中的应用。这里小编是以Chrome浏览器为例的。
1.浏览器
1.1下载Chrome浏览器
下载网址:https://www.google.cn/intl/zh-CN/chrome/

1.2查看Chrome浏览器版本
①点击设置。

② 然后我们在侧边栏中找到关于Chrome浏览器,点击。

③此时我们就可以查看到Chrome浏览器的版本了,这里我们只需要关注Chrome浏览器版本的前两位即可。以小编的来看就只需要知道版本时115.0就可以了。

1.3下载Chrome浏览器的驱动
下载网址:https://chromedriver.chromium.org/downloads
①进去网页之后点击小编画出来的那一串红色的字体。
②找到与自己Chrome浏览器对应版本,只看前两个就行。然后点击对应的网址,这里如果你的电脑是Windows操作系统的64位或者是32位的就直接下载win32就可以了。

③然后将下载下来的驱动放置在Chrome的安装路径下面。

④再将驱动放置在Java的安装路径下。

2.配置系统环境变量path
在上面下载好驱动和放置好驱动位置的基础上我们再来配置环境。
①我们先来找到我们Chrome浏览器的安装路径,然后再将该路径复制。

②打开环境变量,点击环境变量,然后再找到path,点击进去。

③将刚刚复制的路径放到里面,然后点击确定即可。

3.验证是否成功
①打开idea,创建一个maven项目。(注:小编这里使用的idea是2022版的,可能有的同学和小编的不是一个版本,如果不是一样的那就按照自己的版本来创建项目)

②确定侧边栏的文件是否和小编的一致,如果不一致请先按照下面的导入。
如果侧边栏是:

请直接进行第三步!!!
如果侧边栏是:
请按照下面的步骤进行导入!!!


导入之后:
③在pom文件中添加依赖,直接将小编下面的代码放到文件中即可。
<dependencies>
<!--
https://mvnrepository.com/artifact/org.seleniumhq.selenium/seleniu
m-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>

④然后在Java文件夹下面创建一个Main类。
⑤将下面的代码复制到你的代码中,这里如果大家不理解代码是什么意思没关系,后面我们会给大家一一讲解的。
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;public class Main {public static void main(String[] args) {ChromeOptions options = new ChromeOptions();options.addArguments("--remote-allow-origins=*");WebDriver webDriver = new ChromeDriver(options);webDriver.get("https://www.baidu.com");}
}
如果这里运行代码显示的结果如下所示并且成功打开了浏览器,那就说明环境已经配置好了。

4.出现的问题
①如果在上复制代码中如果不能成功的导入包的话,那就重新刷新一下maven,可能是没有缓冲过来。

②如果在运行的时候出错,提示 :The path 通 driver executable thepath to....,那么在代码中加上这句话试一下,手动指定一下Chromedriver.exe所在的路径,可能是由于驱动没有放置到JDK路径下导致的。
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Java\\jdk1.8.0_192\\bin\\chromedriver.exe");
注意:这里的路径随着自己的安装路径来看,灵活变动一下。
结束语:
好了这节中小编主要是与大家分享了Selenium + Java环境的搭建,方便我们后期讲解自动化,希望对大家搭建环境有所帮助,想要学习的同学记得关注小编和小编一起学习吧!如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津(在此小编先谢过各位大佬啦!)
相关文章:
Selenium+Java环境搭建(测试系列6)
目录 前言: 1.浏览器 1.1下载Chrome浏览器 1.2查看Chrome浏览器版本 1.3下载Chrome浏览器的驱动 2.配置系统环境变量path 3.验证是否成功 4.出现的问题 结束语: 前言: 这节中小编给大家讲解一下有关于Selenium Java环境的搭建&…...
Shell编程学习-If条件语句
示例1:使用传参的方式实现两个整数的比较: #!/bin/bash # read -p "Please input second number: " num1 num2if [ $num1 -lt $num2 ]thenecho "$num1 is less than $num2."exit fiif [ $num1 -eq $num2 ]thenecho "$num1 is …...
Android getDrawable()和getColor()
Android getDrawable() 1.过时代码 虽然过时,但是不妨碍使用 context.getResources().getDrawable(R.drawable.xxx) 2.建议代码 context.getDrawable(R.drawable.xxx) 有API限制 3.最新代码 ContextCompat.getDrawable(getContext(), R.drawable.xxx); 有A…...
Android Calendar
1.字符串日期比较大小 public static boolean compareDate(String pre, String last) {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd");try {Date lastDate sdf.parse(last);Calendar lastCal Calendar.getInstance();lastCal.setTime(lastDate);Date …...
C# PaddleDetection 目标检测 ( yolov3_darknet)
效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleDetection 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using Sdcb.PaddleDetection; using Sdcb.PaddleInference; using System; using System.Drawing; using System.Windows.Forms; using YamlDotNet;namespa…...
matlab多线程,parfor循环进度,matlab互斥锁
一. 内容简介 matlab多线程,parfor循环进度,matlab互斥锁 二. 软件环境 2.1 matlab 2022b 2.2代码链接 https://gitee.com/JJW_1601897441/csdn 三.主要流程 3.1 matlab多线程 有好几种,最简单的,最好理解的就是parfor&am…...
建木使用进阶-创建密钥管理
阿丹: 第一次我们进入建木,第一件事情就是配置我们相关的密钥。 解读: 在建木中我们可以进行创建密钥来对我们服务器等密码进行方便的管理。 注意: 登录的时候账号为:admin 密码为:123456 这是初始…...
多模态第2篇:MMGCN代码配置
一、Windows环境 1.创建并激活虚拟环境 #创建虚拟环境命名为mmgcn,指定python版本为3.8 conda create -n mmgcn python3.8 #激活虚拟环境 conda activate mmgcn2.安装pytorch #torch2.0.0 cu118 pip install torch2.0.0cu118 torchvision0.15.1cu118 torchaudio…...
DHCP部署与安全详解
文章目录 一、DHCP是什么?二、DHCP相关概念三、DHCP优点四、DHCP原理1. 客户机发送DHCP Discovery广播包(发现谁是DHCP服务器)2. 服务器响应DHCP Offer广播包3. 客户机发送DHCP Request广播包4. 服务器发送DHCP ACK广播包 五、DHCP续约六、部…...
华为数通HCIP-PIM原理与配置
组播网络概念 组播网络由组播源,组播组成员与组播路由器组成。 组播源的主要作用是发送组播数据。 组播组成员的主要作用是接收组播数据,因此需要通过IGMP让组播网络感知组成员位置与加组信息。 组播路由器的主要作用是将数据从组播源发送到组播组成员。…...
linux 权限
一个文件的权限 我们知道一个文件分为两个部分:1. 文件的内容。 2. 文件的属性 我们对一个文件的操作也就存在以下的一些属性: 这个文件可以被你看到--------- 可读–read—r这个文件可以被你修改----------可写–write–w这个文件可以被编译器编译并执…...
SQL基础使用
SQL的概述 SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发…...
金蝶云星空任意文件读取漏洞复现(0day)
0x01 产品简介 金蝶云星空是一款云端企业资源管理(ERP)软件,为企业提供财务管理、供应链管理以及业务流程管理等一体化解决方案。金蝶云星空聚焦多组织,多利润中心的大中型企业,以 “开放、标准、社交”三大特性为数字…...
linux中readelf命令详解
readelf 用于显示elf格式文件的信息 补充说明 readelf命令 用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf…...
Python 教程之标准库概览
概要 Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库我们可以让您轻松地完成各种任务。 以下是一些 Python3 标准库中的模块: 「os 模块」 os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和…...
MySQL~数据库的基本概念
一、数据库的基本概念 1、数据库的英文单词: DataBase 【 DB】 2、什么数据库? 用于存储和管理数据的仓库。 3、数据库的特点: 持久化存储数据的 数据库就是一个文件系统 方便存储和管理数据 使用统一的方式操作数据库 -- SQL 4、常…...
uniapp文件下载
使用uniapp提供给我们的uni.downloadFile、uni.saveFile和uni.openDocument三个API就可以了 也很简单,直接贴一下代码,安修修改一下即可 <template><view><image tap"pdfDownLoad" style"width: 35rpx;height: 35rpx;&…...
让GPT人工智能变身常用工具-下
...
el-table 表格头部合并
<el-table v-loading"listLoading" :key"tableKey" :data"list" stripe border fit highlight-current-rowstyle"width: 100%;" size"mini"><el-table-column label"第一行" align"center">…...
【机器学习】Linear Regression
Model Representation 1、问题描述2、表示说明3、数据绘图4、模型函数5、预测总结附录 1、问题描述 一套 1000 平方英尺 (sqft) 的房屋售价为300,000美元,一套 2000 平方英尺的房屋售价为500,000美元。这两点将构成我们的数据或训练集。面积单位为 1000 平方英尺&a…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...
