自动化测试selenium环境搭建

news/2024/11/23 12:44:05/

自动化测试工具selenium搭建

1. 自动化和selenium基本概念

1) 什么是自动化?为什么要做自动化?

自动化测试能够代替一部分的手工测试,自动化测试能够提高测试的效率。随着项目功能的增加,版本越来越多,版本的回归测试的压力也就越来越大,所以仅仅通过人工测试来回归所有版本肯定是不够的,所以需要借助自动化来进行回归测试。

2) 为什么选择selenium作为web自动化工具?

最主要是selenium开源免费,其次就是

  1. 支持Chrome、Firefox、edge等主流浏览器
  2. 支持windows、Linux、Mac操作系统
  3. 支持多种语言,比如Java、Python等
  4. selenium包底层提供很多可以使用的API

2. selenium环境搭建

在在pom.xml中引入Maven依赖

<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0</version>
</dependency>

查看自己的浏览器版本

在这里插入图片描述

下载对应版本的谷歌驱动Selenium

选择至少保证版本号前两组一致最新的浏览器驱动。

在这里插入图片描述

注意:JDK版本最低要求为8

把下载后的驱动直接解压到jdk的安装的bin目录下,然后点击启动

在这里插入图片描述

编写一个测试代码:

这是一个通过谷歌浏览器大概百度首页搜索软件测试的自动化案例

public class Demo {public static void test() throws InterruptedException {ChromeOptions options = new ChromeOptions();options.addArguments("--remote-allow-origins=*");ChromeDriver driver = new ChromeDriver(options);Thread.sleep(1500);driver.get("https://www.baidu.com/");Thread.sleep(1500);driver.findElement(By.cssSelector("#kw")).sendKeys("软件测试");Thread.sleep(1500);driver.findElement(By.cssSelector("#su")).click();Thread.sleep(3000);driver.quit();}public static void main(String[] args) throws InterruptedException {test();}
}

3. 什么是驱动?驱动的功能原理是什么?

驱动是很常见的,汽车有汽车的驱动,驱动可以让汽车跑起来。电脑有网卡驱动,没有网卡驱动电脑有网卡也是上不了网的。

我们手动打开浏览器进行测试是不需要驱动的,而对于自动化来说代码是不能够直接打开浏览器的,需要借助驱动程序来协助打开浏览器。

代码可以驱使驱动来打开浏览器,代码要发送请求,我们得知道请求的地址是什么,那么驱动就是一个类似于服务器的角色,通过本机环回Ip加上驱动的端口号9515就能给驱动发送请求, 127.0.0.1 : 9515 127.0.0.1:9515 127.0.0.1:9515

在这里插入图片描述



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

相关文章

Docker利用DockerFile创建部署NVIDIA+PyTorch容器

Docker利用DockerFile创建部署NVIDIAPyTorch容器 1、创建 Dockerfile2、在 Dockerfile 中添加关键字和命令3、使用 Docker Build 命令构建镜像4、验证和测试 Docker 映像 1、创建 Dockerfile 首先在用户的主目录下创建一个名为 mycode 的文件夹&#xff0c;然后创建 Dockerfil…

A7核PWM实验

头文件 #ifndef __PWM_H__ #define __PWM_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_tim.h"//蜂鸣器初始化 void hal_pwm_init(); //风扇初始化 void hal_fan_init(); //马达初始化 void hal_monitor…

etcd 日志 timeout

etcdserver failed to send out heartbeat on time “etcdserver failed to send out heartbeat on time (exceeded the 100ms for 156.ms)” 这个错误消息表示 etcd 服务器在发送心跳信号时超过了预定的时间限制。具体地&#xff0c;该消息中的数字 “156.ms” 表示发送心跳的…

神器!三维激光扫描仪倒置向下伸缩三脚架

怎样才可以将三维激光扫描仪倒过来架站&#xff1f;地下空间数据如何进行三维激光扫描&#xff1f;料仓、粮仓等复杂设施的扫描场景该如何应对&#xff1f;怎么把三维激光扫描仪悬挂到油罐里进行扫描&#xff1f; 意大利Scan&Go于2019年11月发布了这样一款能够辅助三维激光…

VR全景创业丨备受普通人瞩目的互联网创业好项目

互联网创业&#xff0c;简单的说就是通过互联网项目赚钱。比如说美团&#xff0c;打造了线上最大的生活服务平台&#xff0c;又比如说阿里巴巴&#xff0c;创建了国内最大的电商平台——淘宝。当然&#xff0c;这些项目的成功&#xff0c;背后少不了庞大的资金和技术支持。但是…

MySQL 中常用的日期函数

一、MySQL 中常用的日期函数 MySQL 中提供了丰富的日期函数&#xff0c;可用于处理日期和时间相关的业务需求。本文将为大家介绍常用的日期函数&#xff0c;并附有详细的示例代码和输出结果。 1. ADDDATE() 和 DATE_ADD() ADDDATE() 和 DATE_ADD() 函数都可以在一个日期上加…

VR全景拍摄四件套中的三脚架该如何配置?

我们都知道VR全景拍摄一般会使用全景四件套&#xff0c;每一件器材设备的作用我们之前也讲过&#xff0c;今天我们就来讲讲四件套中的三脚架该如何配置吧。三脚架是拍摄过程中不可或缺的一部分&#xff0c;因为想要得到较好的画面&#xff0c;配合三脚架的稳定使用才是更容易的…

eis电子防抖好还是光学防抖好_全系没有OIS光学防抖的魅族17,全场景横置相机模组意义在哪里?...

今年&#xff0c;魅族的5G旗舰手机虽然姗姗来迟&#xff0c;但也因此备受瞩目&#xff0c;全球首发的3D深感探测、2.99mm像素级微孔、三星定制Super AMOLED屏幕、mSmart 5G通讯技术、智能全功能、无线NFC、360度智能环绕天线、Flyme 8.1、全新贯穿式热管散热系统、6400W横置全场…