Selenium+Java 环境搭建

news/2024/10/22 14:39:28/

selenium 介绍

        Selenium 是 web 应用中基于 UI 的自动化测试框架,支持多平台、多浏览器、多语言。

        早期的 selenium RC 已经被现在的 webDriver 所替代,可以简单的理解为selenium1.0+webdriver 构成 现在的 Selenium2.0 。现在我们说起 selenium ,一般指的是Selenium2.0 。它由 Selenium IDE , Webdriver,Selenium Grid 组成。

分别做一下介绍:

1,Selenium IDE

        Selenium IDE一个用于 Selenium 测试的完整集成开发环境,可以直接录制在浏览器的用户操作,并且能回放,编辑和调试测试脚本。调试过程中可以逐步进行或调整执行的速度,并且可以在底部浏览日志出错信息。 录制的测试脚本可以以多种语言导出,比如java,C#,Python,Ruby等,方便掌握不同语言的测试人员操作。

2,Webdriver Selenium RC

        在浏览器中运行 JavaScript 应用,会存在环境沙箱问题,而WebDriver 可以跳出 JavaScript 的沙箱,针对不同的浏览器创建更健壮的,分布式的,跨平台的自动化测试脚本。基于特定语言(Java,C#,Python,Ruby,Perl,JavaScript等)绑定来驱动浏览器对 Web 元素进行操作和验证。

3.webdriver 的工作原理

        启动浏览器后,selenium-webdriver 会将目标浏览器绑定到特定的端口,启动后的浏览器则作为 webdriver 的 remote server。 客户端(也就是测试脚本),借助ComandExecutor 发送 HTTP 请求给 server 端(通信协议:The WebDriver Wire Protocol,在HTTP request 的 body 中,会以 WebDriver Wire 协议规定的 JSON 格式的字符串来告诉Selenium 我们希望浏览器接下来做什么事情)。 Server 端需要依赖原生的浏览器组件,转化 Web Service 的命令为浏览器 native 的调用来完成操作。

4,selenium Grid

        selenium Grid是一个服务器,提供对浏览器实例访问的服务器列表,管理各个节点的注册和状态信息。可以实现在同一时刻不同服务器上执行不同的测试脚本。

为什么选择 selenium 

        做 UI 自动化测试的工具很多,为什么我们要选择用 selenium

selenium 的优点:

  1. 免费,可以去查看源码
  2. Selenimu 支持各大浏览器
  3. 跨平台(Linux,windows,mac)
  4. 有丰富的 API 

selenium 工作原理

        可以看出 webdriver 浏览器驱动相当于一个中介,去传递自动化脚本代码和浏览器的 HTTP 请求和响应。

selenium 环境搭建

1.下载 chrome 浏览器

        直接在浏览器搜索官网下载即可,注意不要下到盗版

2.查看 chrome 浏览器版本

        下载驱动要按照 chrome 浏览器的版本下载,所以先查看浏览器版本

3.下载 chrome 浏览器驱动(下载对应的版本)

        可以去搜索 chrome 浏览器驱动,找到官网下载,但我尝试了几次都进入不了官网,所以找了一个第三方的网站下载https://www.cnblogs.com/aiyablog/articles/17948703

        因为我的 chrome 浏览器版本是 125,所以这里我下载的是 125 - win64 版本的驱动

4.将 chromedriver.exe 驱动放到 chrome 浏览器的安装目录下

        将下载得到的压缩包解压后就得到了chromedriver.exe 驱动

        将驱动复制到 chrome 浏览器的安装目录下

5.将安装目录的路径复制下来配置环境变量

        复制 chrome 浏览器的安装路径

        将安装路径配置到环境变量的 Path 中

6.验证环境是否搭建成功

.        创建 Java 项目并在 pom 文件中添加依赖(可以自己去 maven 中心仓库下载 selenium-java )

selenium-java 依赖包

        将其复制到 pom 配置文件中

        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency>

创建 Exercise 类,写入如下代码进行检验

public class Exercise {public static void main(String[] args) {//创建了一个浏览器驱动,驱动相当于一个服务器,提供服务,IP 地址是本地 IP 127.0.0.1,端口号在日志上可以找到WebDriver webDriver=new ChromeDriver();webDriver.get("https://www.baidu.com/");}
}

        如果得到如下的输出信息,则说明环境配置成功


http://www.ppmy.cn/news/1465868.html

相关文章

基于jeecgboot-vue3的Flowable流程-我的任务(三)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这一部分主要讲我的任务里的详情&#xff0c;看流程情况 1、主要调用record/index.vue&#xff0c;调用参数如下&#xff1a; /*** 详情*/function handleDetail(record: Recordable) {c…

Harmonyos Next——图片上传与下载

Harmonyos Next——图片上传与下载 图片上传至服务器描述选取图片从相册选择图片通过拍摄获取图片 将获取的图片上传至服务器拷贝文件上传图片 图片下载 图片上传至服务器 描述 从手机相册中选择一张图片&#xff0c;然后上传至服务器 选取图片 在从相册或者拍摄获取的图片…

探索iOS上的C语言编程软件:从入门到精通的全方位指南

探索iOS上的C语言编程软件&#xff1a;从入门到精通的全方位指南 在iOS平台上进行C语言编程&#xff0c;虽然不如其他主流编程语言那么普及&#xff0c;但仍然有一批热衷于C语言的开发者们在这个领域里耕耘。本文将深入探索iOS上的C语言编程软件&#xff0c;从四个方面、五个方…

docker一键部署EFK系统(elasticsearch filebeat kibana metricbeat es-head)

EFK日志系统搭建 EFK日志系统介绍功能需求搭建elasticsearch集群规划前提部署核对证书及权限 EFK日志系统介绍 Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎&#xff0c;允许进行全文、结构化搜索&#xff0c;它通常用于索引和搜索大量日志数据&#xff0c;也可用于…

View->Bitmap缩放到自定义ViewGroup的任意区域(Matrix方式绘制Bitmap)

Bitmap缩放和平移 加载一张Bitmap可能为宽高相同的正方形&#xff0c;也可能为宽高不同的矩形缩放方向可以为中心缩放&#xff0c;左上角缩放&#xff0c;右上角缩放&#xff0c;左下角缩放&#xff0c;右下角缩放Bitmap中心缩放&#xff0c;包含了缩放和平移两个操作&#xf…

让低代码平台插上AI的翅膀 - 记开源驰骋AI平台升级

让低代码系统插上AI的翅膀——驰骋低代码开发平台引领新时代 在当今日新月异的科技世界中&#xff0c;人工智能&#xff08;AI&#xff09;已经成为各个行业不可或缺的一部分。从制造业的自动化生产到金融行业的智能风控&#xff0c;再到医疗领域的精准诊断&#xff0c;AI技术…

NoSQL是什么?NoSQL数据库存在SQL注入攻击?

一、NoSQL是什么&#xff1f; NoSQL&#xff08;Not Only SQL&#xff09;是一种非关系型数据库的概念。与传统的关系型数据库不同&#xff0c;NoSQL数据库使用不同的数据模型来存储和检索数据。NOSQL数据库通常更适合处理大规模的非结构化和半结构化数据&#xff0c;且能够…

深度解析:从概念到变革——Transformer大模型的前世今生以及大模型预备知识讲解[知存科技]

深度解析&#xff1a;从概念到变革——Transformer大模型的前世今生 点击&#xff1a;知存科技相关课程推荐 知存科技是全球领先的存内计算芯片企业。针对AI应用场景&#xff0c;在全球率先商业化量产基于存内计算技术的神经网络芯片。凭借颠覆性的技术创新&#xff0c;知存科…