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

news2025/5/24 14:09:42

之前都是在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.coloradmin.cn/o/1355932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭秘Linux软链接:如何轻松创建、删除和修改

揭秘Linux软链接&#xff1a;如何轻松创建、删除和修改 一、简介二、创建软链接三、删除软链接四、修改软链接五、Linux软链接的高级用法六、总结 一、简介 在Linux中&#xff0c;软链接&#xff08;Symbolic Link&#xff09;是一种特殊的文件类型&#xff0c;它是一个指向另…

【DevOps-03】Build阶段-Maven安装配置

一、简要说明 下载安装JDK8下载安装Maven二、复制准备一台虚拟机 1、VM虚拟复制克隆一台机器 2、启动刚克隆的虚拟机,修改IP地址 刚刚克隆的虚拟机 ,IP地址和原虚拟的IP地址是一样的,需要修改克隆后的虚拟机IP地址,以免IP地址冲突。 # 编辑修改IP地址 $ vi /etc/sysconfig…

申请域名SSL证书并自动推送至阿里云 CDN

近期国外SSL证书厂商调整了免费证书的续签规则&#xff0c;一年期的证书全部取消&#xff0c;现在只能申请90天有效期的免费证书。普通web站点可以通过宝塔面板或部署acme.sh等证书自动管理工具来实现自动化申请和部署&#xff0c;但是阿里云之类的CDN服务就只能通过手动或Open…

Python split()方法详解:分割字符串

Python 中&#xff0c;除了可以使用一些内建函数获取字符串的相关信息外&#xff08;例如 len() 函数获取字符串长度&#xff09;&#xff0c;字符串类型本身也拥有一些方法供我们使用。 注意&#xff0c;这里所说的方法&#xff0c;指的是字符串类型 str 本身所提供的&#x…

linux性能优化

文章目录 性能优化图CPU进程和cpu原理性能指标 性能优化图 CPU 进程和cpu原理 进程与线程&#xff1a; 进程是程序的执行实例&#xff0c;有自己的地址空间和系统资源。线程是进程内的执行单元&#xff0c;共享进程的资源。在多核系统中&#xff0c;使用多线程可以更好地利用多…

【四】CocosCreator-修改引擎源码

看源码的过程中&#xff0c;少不了得修修改改源码&#xff0c;做点实验。果断去找找源码在哪里&#xff0c;然后就可以快乐动手改源码了。 CocosCreator引擎源码主要就是js和原生C两类&#xff0c;分别在引擎目录的resources/engine和resources/cocos2d-x下&#xff0c;如图&am…

金色麦芒的2023

2023年即将过去&#xff0c;回首这一年&#xff0c;我深感自己在技术和职业生涯中取得了巨大的进步。这一年里&#xff0c;我不仅在技术层面有了更深入的掌握&#xff0c;也在个人成长和职业规划上有了更明确的方向。 首先&#xff0c;在技术层面&#xff0c;我今年最大的收获是…

Innosetup 调用c# dll 和 c# dll的函数导出

目标需求&#xff0c;基于现在安装包脚本。需要在用户安装和卸载成功时。进行数据记录,所以需要调用c#dll 主要涉及到的知识点 需要理解脚本的文件使用机制脚本的文件dll加载&#xff0c;和dll的调用c# dll的制作&#xff0c;和工具的使用 下面具体介绍 脚本的文件dll加载&…

【程序】USART串口通信接收数据(标准库带printf)

&#x1f31f;博主领域&#xff1a;嵌入式领域&人工智能&软件开发 前言&#xff1a;本程序使用stm32f429作为主控&#xff0c;使用串口1&#xff0c;使用的是标准库程序版本。&#xff08;其它主控/串口x&#xff0c;实现过程类似&#xff09;。本程序亲测无误。 目录…

如何制作可预约的上门维修服务小程序?

上门维修服务已经成为人们日常生活中不可或缺的一部分。为了满足这一需求&#xff0c;我们学习如何无经验自己制作上门维修服务小程序。 首先&#xff0c;打开乔拓云-门店系统的后台&#xff0c;可以看到有很多各行各业的模版。这些模版涵盖了各种行业&#xff0c;包括家电维修…

9.java——(杂例)组合,代理,向上转型static,fianl,关键字(有道云笔记复制粘贴,大家整体性的把握)

组合——内部有类&#xff08;心中有对象&#xff01;&#xff01;&#xff01;&#xff09;&#xff08;足球 和足球运动员梅西和脚下的足球一样&#xff09; has和is的区别&#xff0c;has是组合&#xff0c;是有&#xff0c;持有的意思&#xff1b;is是继承&#xff0c;是…

MT9201 1.2MHz,3V~24V输入高效增压白色LED驱动器 丝印B9HB

描述 MT9201是一个升压转换器&#xff0c;设计用于从单电池锂离子电池驱动多达7系列白色led。MT9201使用电流模式&#xff0c;固定频率结构来调节LED电流&#xff0c;它通过外部电流感测电阻器来测量。其低200mV反馈电压降低了功率损耗&#xff0c;提高了效率。MT9201包括欠电压…

FlinkSQL中【FULL OUTER JOIN】使用实例分析(坑)

Flink版本&#xff1a;flink1.14 最近有【FULL OUTER JOIN】场景的实时数据开发需求&#xff0c;想要的结果是&#xff0c;左右表来了数据都下发数据&#xff1b;左表存在的数据&#xff0c;右表进来可以关联下发&#xff08;同样&#xff0c;右表存在的数据&#xff0c;左表进…

spring见解2基于注解的IOC配置

3.基于注解的IOC配置 学习基于注解的IOC配置&#xff0c;大家脑海里首先得有一个认知&#xff0c;即注解配置和xml配置要实现的功能都是一样的&#xff0c;都是要降低程序间的耦合。只是配置的形式不一样。 3.1.创建工程 3.1.1.pom.xml <?xml version"1.0" en…

C++八股学习心得.4

1.C 类 & 对象 C 在 C 语言的基础上增加了面向对象编程&#xff0c;C 支持面向对象程序设计。类是 C 的核心特性&#xff0c;通常被称为用户定义的类型。 类用于指定对象的形式&#xff0c;它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在…

图像融合论文阅读:MURF: Mutually Reinforcing Multi-Modal Image Registration and Fusion

article{xu2023murf, title{MURF: Mutually Reinforcing Multi-modal Image Registration and Fusion}, author{Xu, Han and Yuan, Jiteng and Ma, Jiayi}, journal{IEEE Transactions on Pattern Analysis and Machine Intelligence}, year{2023}, publisher{IEEE} } 论文级别…

Java进阶 1-2 枚举

目录 常量特定方法 职责链模式的枚举实现 状态机模式的枚举实现 多路分发 1、使用枚举类型实现分发 2、使用常量特定方法实现分发 3、使用EnumMap实现分发 4、使用二维数组实现分发 本笔记参考自&#xff1a; 《On Java 中文版》 常量特定方法 在Java中&#xff0c;我们…

数字孪生技术详解

在线工具推荐&#xff1a;3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 数字孪生技术正在迅速彻底改变企业的运营方式。借助数字孪生技术&#xff0c…

洗地机什么牌子最好?家用洗地机推荐指南

随着人们对健康和卫生的关注日益增长&#xff0c;洗地机成为了现代家庭清洁的必备工具。然而&#xff0c;在市场上琳琅满目的洗地机品牌中&#xff0c;洗地机哪个品牌最好最实用呢?这是消费者最为关心的问题。现本文将为您介绍几个备受推崇的洗地机品牌&#xff0c;帮助您在众…

拖拽式工作流好用吗?有何特点?

大家都知道&#xff0c;随着行业的进步和发展&#xff0c;低代码技术平台也迎来了蓬勃发展期。很多企业喜欢使用低代码实现提质增效的办公效果&#xff0c;拖拽式工作流是其中一个功能&#xff0c;是助力企业实现流程化办公的得力助手。那么&#xff0c;拖拽式工作流好用吗&…