保姆级教程:从0到1搭建web自动化测试环境

之前都是在linux上安装,第一次在windows上配置环境,加上距离上次配置环境有点久了,竟也花了点时间。特此记录下保姆级教程,给初学者一个有效的参考!

一. 环境搭建

工具清单

工具工具名版本
Java开发工具包JDK1.8
浏览器Chrome112.0
IDEEclipse
开发语言Java1.8
Web自动化测试工具Selenium3.141.59
依赖包管理Maven3.3.9
测试框架TestNG6.14.2

1.1 安装java 并配置环境变量

  • 1.1.1 下载java并安装

下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
下载后傻瓜安装,会先安装JDK,再安装JRE。
这里JDK的路径是:D:\Program Files\Java\jdk1.8.0_40
JRE的路径是:D:\Program Files\Java\jre1.8.0

  • 1.1.2 配置环境变量

设置-系统-高级系统设置-高级,环境变量,新建系统变量:

JAVA_HOME:D:\Program Files\Java\jdk1.8.0_40
CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
PATH(已有,追加): %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin

设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包
设置PATH的目的,在于可以查找到可执行的程序。

  • 1.1.3 验证安装

输入java -verison,出现以下输出说明安装OK(注意版本要和安装设置的一致)

输入javac,出现以下输出说明环境变量设置OK

1.2 下载maven并配置环境变量

Maven是Apache的一款开源的项目管理工具,其作用主要有两大块:

  1. 管理依赖包
  2. 编译打包部署

maven使用POM(Project-Object-Model 项目对象模型)来管理项目的构建。下面会有POM的配置说明。

  • 1.2.1 下载并解压缩

下载地址:https://maven.apache.org/download.cgi

这里我使用的版本是3.3.9,可以找到该版本的下载地址:https://dlcdn.apache.org/maven/maven-3/3.3.9/binaries/

Windows下载这个即可:

解压后的目录文件如下,主要关注conf/settings.xml:

  • 1.2.2 修改maven配置文件

这里Maven解压缩的目录:D:\Program Files\apache-maven-3.3.9\conf\settings.xml

这里指定了本地仓库,即maven的jar包下载的路径

这里指定了maven中央仓库的镜像地址,即jar包的下载路径。为什么这样写,参考 https://developer.aliyun.com/mvn/guide:

  • 1.2.3 配置maven环境变量

MAVEN_HOME:D:\Program Files\apache-maven-3.8.8

将maven变量添加到path中(目的:使得程序可以在任何地方运行maven):

  • 1.2.4 验证配置

  • 1.2.5 下载maven依赖包

下载的依赖包即存放在settings.xml配置的localrepository里:

出现下面的输出即为OK:

1.3 安装IDE并配置

这里用的是eclipse,IDEA也是类似,工具不同而已,配置大同小异。

  • 1.3.1 下载,解压缩

下载地址:https://www.eclipse.org/downloads/packages/
选择windows版本。Eclipse是免安装的,下载后直接运行eclipse.exe

  • 1.3.2 配置eclipse maven installation选项

该操作是为了配置eclipse使用安装的maven。
打开Eclipse,windows -> preferences,搜索maven,Installations, add,选择maven路径

  • 1.3.3 修改maven User settings

该操作是为了配置eclipse使用安装maven的settings

  • 1.3.4 配置Eclipse Installed JREs

Eclipse需要在JRE上运行,maven编译需要使用JDK中的编译器,因此需要配置Eclipse installed JREs指向JDK,选择自己安装的JDK即可。

1.4 创建maven项目并配置依赖

  • 1.4.1 创建maven项目

File-> new->other,搜索maven,选择maven project

GroupId 是项目组织唯一的标识符,实际对应项目的包,其实就是包结构;ArtifactId 实际对应项目名称。
GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,对于maven项目而言,groupID和artifactId是maven管理项目包时用作区分的字段,就像是地图上的坐标。
建好的项目结构如图:


其中pom.xml是maven项目的核心配置文件,在这里管理各种依赖。
Src/main/java 存放项目的java源码
Src/main/resources 存放项目的相关配置文件
Src/test/java 存放项目的测试代码
Src/test/resources 粗放项目的测试相关配置文件

  • 1.4.2 配置POM.xml

POM全程Project Object Model,又称项目对象模型。它是Maven工程的基本工作单元,是一个XML(可扩展标记语言)文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。执行任务或目标时,Maven会在当前目录中查找 POM并读取从而获取所需的配置信息执行目标,属于项目级别的配置文件。
这里用的编译工具是maven,加入以下声明(涉及maven详细的语法,本文不展开细说):

  <build><plugins>  <plugin><groupId>org.apache.maven.plugins</groupId>  <artifactId>maven-compiler-plugin</artifactId><version>3.3</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin>  </plugins>  </build> 

这里是maven仓库地址
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin
用的maven版本是3.3.9:

使用的selenium版本是3.141.59;testNG版本是6.14.2,加入以下依赖:

  <dependencies><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.14.2</version></dependency></dependencies>

1.5 安装testng插件

TestNG是测试框架,自动化测试主要用到的是其强大的注解类。POM文件里已经定义了使用的testng版本是6.14.2,接下来需要安装该插件。

Help- install new software,下图的location中填入https://testng.org/testng-eclipse-update-site/6.14.3

接下来Next并安装完成即可。

检验一下安装,Perferences里出现TestNG即为安装OK:

1.6 安装浏览器并配置driver

在什么是自动化测试?如何做自动化测试?介绍过GUI自动化的原理,测试用例需要通过webDriver来驱动浏览器,因此需要安装并配置webDriver。

webDriver的安装比较简单,下载解压缩即可。首先查看浏览器版本,以chrome为例,点击帮助->关于Google Chrome即可。这里我的版本号是112.0.5615.87(下载driver没必要完全一致,大版本一致即可):

其次,下载浏览器版本对应的driver,下载地址:http://chromedriver.storage.googleapis.com/index.html

下载解压后有chromedriver.exe,将该exe文件的路径加入PATH。通常,我们会将其放到浏览器的安装目录,不过这一步不是必需的,必需的是将路径加入PATH变量。

这里,解压路径是“D:\Program Files\chromedriver_win32”,变量设置如下(Windows下依次点击 设置-系统-高级系统设置,环境变量):

1.7 安装完毕,验证!

在src/test/java里新建包,新建类(随便命名),写一个最简单的自动化测试代码,右键Run as – TestNG Test,运行成功!

自此,环境已经OK,接下来可以开启web自动化之旅了!

二. 总结与思考

搭建GUI自动化环境是基础,很多同学都倒在了环境搭建上。整理下来思路很清晰:首先明确搭建GUI自动化环境需要使用什么类型的工具,然后确定选择什么工具,再逐个安装配置就可以啦!

工具的安装配置也都是一个套路,都是安装-配置环境变量-修改配置文件。

工具不是唯一的,譬如IDE现在用IDEA很多,本文是以eclipse为例。工具的使用都是相通的,核心是自动化的使用。

环境搭建好了,万里长征才走完了第一步。接下来再深入学习!

 总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/230770.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024美赛数学建模思路A题B题C题D题E题F题思路汇总 选题分析

文章目录 1 赛题思路2 美赛比赛日期和时间3 赛题类型4 美赛常见数模问题5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 美赛比赛日期和时间 比赛开始时间&#xff1a;北京时间2024年2月2日&#xff08;周五&#xff…

Spring AOP的环境搭建、切入点表达式、通知注解

Spring AOP的实现 Spring AOP环境搭建AOP坐标依赖引入添加xml配置实现三层架构 定义切入点Pointcut("匹配规则")切入点表达式1. 执行所有的公共方法2.执行任意的set方法3.设置指定包下的任意类的任意方法 (指定包: com.svt.service)4.设置指定包及于包下的任意类的任…

SpringBoot整合ElasticSearch实现CRUD操作

本文来说下SpringBoot整合ES实现CRUD操作 文章目录 概述项目搭建ES简单的crud操作保存数据修改数据查看数据删除数据 本文小结 概述 SpringBoot支持两种技术和es交互。一种的jest&#xff0c;还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作…

【如何选择Mysql服务器的CPU核数及内存大小】

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容&#x1f4e2;文章总结&#x1f4e5;博主目标 &#x1f50a;博主介绍 &#x1f31f;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作…

HackTheBox - Medium - Linux - Interface

Interface Interface 是一种中等难度的 Linux 机器&#xff0c;具有“DomPDF”API 端点&#xff0c;该端点通过将“CSS”注入处理后的数据而容易受到远程命令执行的影响。“DomPDF”可以被诱骗在其字体缓存中存储带有“PHP”文件扩展名的恶意字体&#xff0c;然后可以通过从其…

LC 2397. 被列覆盖的最多行数

2397. 被列覆盖的最多行数 2397. 被列覆盖的最多行数 文章目录 2397. 被列覆盖的最多行数二进制枚举代码实现&#xff1a; 递归回溯实现代码实现 Gospers Hack代码实现 难度&#xff1a; 中等 题目大意&#xff1a; 给你一个下标从 0 开始、大小为 m x n 的二进制矩阵 matri…

Midjourney表情包制作及变现最全教程

盘点Midijourney&#xff08;AIGF&#xff09;热门赚米方法&#xff0c;总有一种适合你之AI绘画操作技巧及变现渠道剖析 【表情包制作】 首先我们对表情包制作进行详细的讲解&#xff1a; 当使用 Midjourney&#xff08;AIGF&#xff09; 绘画来制作表情包时&#xff0c;你可以…

python学完之后可以做什么,python学完可以做什么

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python学完可以做哪些工作&#xff0c;python学完之后可以做什么&#xff0c;今天让我们一起来看看吧&#xff01; Python是一种全栈的开发语言&#xff0c;你如果能学好Python&#xff0c;前端&#xff0c;后端&#x…

【Python机器学习】k近邻——k近邻分类

k-NN算法最简单的版本是只考虑一个最近邻&#xff0c;也就是想要预测的数据点最近的训练数据点&#xff0c;预测结果就是这个训练数据点的已知输出。 除了仅考虑最近邻&#xff0c;还可以考虑任意&#xff08;k个&#xff09;邻居&#xff0c;这也是k近邻算法名字的由来。在考…

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程 1. 安装Anaconda 网址&#xff1a;https://repo.anaconda.com/archive/ 选择第一个下载即可 双击exe文件&#xff0c;按安装向导安装即可&#xff08;除安装路径自己选择外&#xff0c;其余均可按默认选项&#x…

kubeadm来快速搭建一个K8S集群

二进制搭建适合大集群&#xff0c;50台以下的主机 kubeadm更适合中下企业的业务集群 我们采用了二进制包搭建出的k8s集群&#xff0c;本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群&#xff0c;kubeadm更适合中小型企业的集群…

爬虫工作量由小到大的思维转变---<第三十四章 Scrapy 的部署scrapyd+Gerapy>

前言: scrapy-redis没被部署,感觉讲起来很无力;因为实在编不出一个能让scrapy-redis发挥用武之地的案子;所以,索性直接先把分布式爬虫的部署问题给讲清楚!! 然后,曲线救国式地再在部署的服务器上,讲scrapy redis我感觉这样才好! 正文: 现在还有不少人在用scrapy web进行爬虫管…

Axure医疗-住院板块,住院患者原型预览,新增医护人员原型预览,新增病房原型预览,选择床位原型预览,主治医生原型预览,主治医生医嘱原型预览

目录 一.医疗项目原型图-----住院板块 1.1 住院板块原型预览 1.2 新增住院患者原型预览 1.3 新增医护人员原型预览 1.4 新增病房原型预览 1.5 选择床位原型预览 1.6 主治医生原型预览 1.7 主治医生医嘱原型预览 1.8 主治医生查看患者报告原型预览 1.9 护士原型预…

Ubuntu 22.04/20.04 安装 SSH

OpenSSH 是安全远程通信的重要工具&#xff0c;提供了一种安全的方式来访问和管理服务器。对于那些计划在 Ubuntu 22.04 Jammy Jellyfish 或其较旧的稳定版本的 Ubuntu 20.04 Focal Fossa 上安装 SSH 并启用它的人来说&#xff0c;了解其功能和优势至关重要。 OpenSSH的主要特…

node加速镜像源 管理工具nrm安装使用

我们在开发node.js的时候,经常会遇到某些包无法下载, 或者下载太慢, 还有需要加载我们自己是有源中的包的问题, 今天推荐给大家的这款 nrm 镜像源管理工具就是解决这类问题的. 安装 方法也很简单, 执行 npm install nrm -g 就可以安装 # 安装nrm npm install nrm -g# 添加…

普通用户用哪款电脑杀毒软件最好?

前言 各位小伙伴接触到电脑的时候&#xff0c;都一定有听过“电脑一定要安装杀毒软件”这句话。 毕竟在电脑诞生之初到今天&#xff0c;电脑木马和病毒依旧存在。 中了木马或病毒的电脑会出现什么现象&#xff1f;具体得看中了什么样的病毒。 但轻则资料泄漏、电脑瘫痪&…

CRYPTO现代密码学学习

CRYPTO现代密码学学习 RC4 加密算法RSA加密解密DES加密解密详解密钥的生成密文的生成 RC4 加密算法 简单介绍&#xff1a;RC4加密算法是一种对称加密算法&#xff0c;加密和解密使用同一个函数 初始化分为以下几个步骤 初始化存储0-255字节的Sbox(其实就是一个数组)填充key到…

【Bug解决】Failed to configure a DataSource

1、问题描述 SpringBoot项目在启动时报出下面的错误&#xff1a; Description: Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider…

什么是差值表达式

在Vue.js中&#xff0c;差值表达式是一种基本的数据绑定形式&#xff0c;用于将数据绑定到文档对象模型&#xff08;DOM&#xff09;上。差值表达式通常使用双大括号 {{ }} 来表示&#xff0c;这种语法非常直观。当Vue实例的数据发生变化时&#xff0c;差值表达式的内容也会相应…

css 编写圆角矩形只有左侧一半的样式

实现该样式&#xff1a;尺寸大小可自由调整修改 <div class"abc"></div>.abc{width: 50px;height: 300px;border: 1px solid red;border-right: none;border-top-left-radius: 10px;border-bottom-left-radius: 10px;}