Selenium+Java 环境搭建

ops/2024/11/17 21:21:42/

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/ops/47370.html

相关文章

NLP(1)-TF-IDF算法介绍

一、TF-IDF算法介绍 TF-IDF&#xff08;term frequency–inverse document frequency&#xff0c;词频-逆向文件频率&#xff09;是一种用于信息检索&#xff08;information retrieval&#xff09;与文本挖掘&#xff08;text mining&#xff09;的常用加权技术。 TF-IDF是一…

21、matlab生成脉冲序列:pulstran()函数

1、pulstran()函数 1&#xff09;语法 语法1&#xff1a;y pulstran(t,d,func,fs) 基于连续函数的采样产生脉冲序列。 语法2&#xff1a;y pulstran(t,d,p) 生成一个脉冲序列&#xff0c;该脉冲序列是向量p中原型脉冲的多个延迟插值的总和。 语法3&#xff1a;y pulstran…

巨详细Linux安装Redis教程

巨详细Linux安装Redis 1、检查系统是否残留redis数据2、上传压缩包到服务器2.1压缩包获取2.2创建相关目录 3、安装Redis3.1解压Redis压缩包3.2安装Redis 4、配置Redis4.1设置Redis随系统启动4.2测试功能4.3设置密码和设置准许远程访问 1、检查系统是否残留redis数据 redis等数…

MySQL -- 索引

当表中的数据量到达几十万甚至上百万的时候&#xff0c;SQL查询所花费的时间会很长&#xff0c;导致业务超时出错&#xff0c;此 时就需要用索引来加速SQL查询。 由于索引也是需要存储成索引文件的&#xff0c;因此对索引的使用也会涉及磁盘I/O操作。如果索引创建过多&#xff…

学习串口屏需要了解哪些方面的知识

学习串口屏需要掌握的知识主要包括以下几个方面&#xff1a; 串口通信原理&#xff1a;串口屏是基于串口通信的显示控制模组&#xff0c;因此了解串口通信的基本原理和通信协议是必要的。你需要了解串口通信的基本概念、数据格式、波特率、校验位等参数&#xff0c;以及串口通…

使用Rufus工具制作Ubuntu To Go——很详细

一、准备工作 准备工具&#xff1a; 1、下载Rufus(主角)软件 2、准备一个U盘或硬盘&#xff08;小白128G足够&#xff0c;装Ubuntu系统&#xff09; 3、下载Ubuntu系统镜像文件 1、下载软件Rufus 先来看一下官网介绍&#xff1a; Rufus 是一款格式化和创建 USB 启动盘的辅助工…

外贸实战|做外贸要主动,才会跟客户有订单!

很多人对我说过这种情况&#xff1a;客户给我发了一份询盘&#xff0c;但是我回复以后&#xff0c;客户就不理我了&#xff0c;好伤心。 我问&#xff1a;你跟了多久了&#xff1f; 很多人都会回答&#xff1a;几天或者不记得&#xff0c;他不理我&#xff0c;我也不知道怎么…

多功能光时域反射仪的工作原理

6426A-2101多功能光时域反射仪是新一代掌上型智能化光纤通信测量仪器&#xff0c;具有强大的功能和广泛的应用领域。它能够显示光纤及光缆的损耗分布曲线图&#xff0c;测量光纤及光缆的多种关键参数&#xff0c;包括长度、损耗、接续质量等&#xff0c;为光纤通信系统的工程施…