《手把手教你》系列基础篇之(一)-java+ selenium自动化测试-环境搭建(上)(详细教程)
1.简介
jmeter系列的文章结束,本来想趁热打铁顺别将Jmeter和接口测试介绍一下,但是感觉Jmeter时间太长了怕大家吃腻了,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有java版的selenium,因为不会Python,或者现在大多数企业和公司还是把java奉在神坛上,所以宏哥打算就换个口味,介绍一下java+ selenium自动化测试。大致和前边的python+selenium自动化测试差不多。基于java和selenium做自动化测试,俗话说:工欲善其事必先利其器;没有金刚钻就不揽那瓷器活,磨刀不误砍柴工,因此你必须会搭建基本的开发环境,掌握python基本的语法和一个IDE来进行开发,这里通过详细的讲解,介绍怎么搭建java和selenium开发环境,并提供一个基本入门的代码,后续逐步提供系列实践文章。
2.环境准备
2.1所需要安装的组件或者工具
1、宏哥的环境是Windows 10版本 64位系统(32位的同学自己想办法哦)
2、1.8.0_181 (64位)
3、Eclipse
4、Selenium for Java
5、Selenium 在不同浏览器上的driver插件,根据你的浏览器版本自行下载好。
2.2JDK安装与配置
1、下载jdk包,小编的是64位1.8版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本
2、一路傻瓜式安装,注意安装路径不要有空格,不要有中文。jdk和jre不要放在一个文件夹下
3、设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”
(1)JAVA_HOME----D:\software\Java\jdk1.8.0_181” (根据自己安装路径填写)

(2)CLASSPATH--- .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

(3)PATH-----;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
在path路径下加上面那两个,这里就不多说了
4、打开cmd验证是否安装成功,输入java -version,然后输入javac
能显示版本号和下面的帮助信息说明安装成功
2.3Eclipse的安装与设置
关于Eclipse的下载和设置,请参考宏哥的一篇文章:传送门。
2.4下载Selenium相关包和工具
Selenium下载的官网是http://www.seleniumhq.org/download/,点击下图中的3.4.0链接触发下载selenium-server-standalone-3.4.0.jar
3.5下载不同浏览器driver插件
浏览器对应的独立的官方驱动文件。如下表:
Browser |
Component |
Chrome |
|
Internet Explorer |
|
Edge |
|
Firefox 47+ |
|
PhantomJS |
|
Opera |
|
Safari |
以上准备工作都做好后,到此,准备工作就做好了,下边宏哥就开始搭建环境。
3.搭建环境
java+ selenium自动化测试的搭建环境有两种方法下边听宏哥给你慢慢道来。
3.1方法一(宏哥不推荐)
添加多个jar包。这个方法比较繁琐,宏哥不推荐这种方法。
1、官方下载地址: http://www.seleniumhq.org/download/ 如果官方地址无法访问自己可以网上搜一下应该可以 轻松的下载到,如果实在找不到可以微信搜索“北京宏哥”公众号,关注宏哥以后进入公众号发送“jar包”来获取下载方法。进入官网找到页面和java语言,点击后边的download,如下图所示:
2、解压上边下载的压缩包,解压后有六个文件,如下图所示:
3、 新建一 个Java Project把上面解压出来的文件, 都复制到新建的Project 目录下, 目录结构,如下图所示:
4、 添加build path, 项目目录右键 Build Path -> Config build path -> java build Path -> Libraries -> Add JARs
5、 把libs 文件夹下的jar包,全部添加上,再添加 client-combined-3.141.59.jar和client-combined-3.141.59-sources.jar。如下图所示:
6、添加成功后,目录结构,如下图所示:
3.2方法二(宏哥推荐)
添加一个jar包即可。这个方法比较简单是首选也是宏哥推荐的方法。
1、下载selenium-server-standalone.jar 。下载地址也在:官方下载地址: http://www.seleniumhq.org/download/ 如果官方地址无法访问自己可以网上搜一下应该可以 轻松的下载到,如果实在找不到可以微信搜索“北京宏哥”公众号,关注宏哥以后进入公众号发送“jar包”来获取下载方法。
2、将selenium-server-standalone.jar 按照方法一添加jar的方法直接添加到java项目中就可以了,如下图所示:
4.小结
4.1报错分析
细心认真的小伙伴或者童鞋们会发现,使用宏哥的方法一会报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
selenium + java + Windows + Eclipse 报错分析:
网上绝大多数的教程,按照方法一配置selenium 自动化测试环境,都是只让导入client-combined-3.141.59.jar和client-combined-3.141.59-sources.jar,没有说让导入lib 目录下的jar 包,宏哥也没仔细看,明明jar包都导入了啊,后实在看不出来原因,去看这个jar 包的时候,发现libs文件夹中这里面还有几个jar 包。好吧,导入就OK了。
好了,今天有关java+selenium自动化测试的环境搭建就分享到这里吧。灰常感谢你耐心的阅读!!!
《手把手教你》系列基础篇之(一)-java+ selenium自动化测试-环境搭建(上)(详细教程)的更多相关文章
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
- 《手把手教你》系列技巧篇(五十八)-java+ selenium自动化测试-分页测试(详细教程)
1.简介 前几天,有人私信里留言问宏哥,分页怎么自动化测试了,完了给他说了说思路,不知道最后搞定没有,索性宏哥就写一篇文章来讲解和介绍如何处理分页. 2.测试场景 对分页来说,我们最感兴趣的和测试的无 ...
- 《手把手教你》系列技巧篇(六十四)-java+ selenium自动化测试 - cookie -中篇(详细教程)
1.简介 今天按照原计划宏哥要用实例来给小伙伴或童鞋们来演示一下,如何利用cookie实现跳过验证码进行登录.这个场景是自动登陆.有很多系统的登陆信息都是保存在cookie里的,因此只要往cookie ...
- 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...
- 🔥《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)
1. 简介 俗话说:磨刀不误砍柴工,因此在我们要开始写自动化脚本之前,我们先来学习和了解几个基本概念,在完全掌握了这几个概念之后,有助于我们快速上手,如何去编写自动化测试脚本. 元素,在这个教程系列, ...
- UI自动化测试篇 :Selenium2(Webdriver)&TestNG自动化测试环境搭建
最开始学习UI自动化,用的工具是QTP10,用起来确实比较容易上手,自学了没多久,大家都说QTP过时了.这么好用的的工具怎么一下子就过时了呢?因为它的“笨重”,因为它作为商业软件带来的巨大使用成本,还 ...
- 《手把手教你》系列基础篇(七十五)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 中篇(详解教程)
1.简介 上一篇中介绍了DataProvider如何传递参数,以及和一些其他方法结合传递参数,今天宏哥接着把剩下的一些常用的也做一下简单的介绍和分享. 2.项目实战1 @DataProvider + ...
- 《手把手教你》系列基础篇(七十六)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 下篇(详解教程)
1.简介 今天这一篇宏哥主要是结合实际工作中将遇到的测试场景和前边两篇学习的知识结合起来给大家讲解和分享一下,希望以后大家在以后遇到其他的测试场景也可以将自己的所学的知识应用到测试场景中. 2.测试场 ...
- 《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)
1.简介 今天主要是讲解和分享:TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称 ...
随机推荐
- [2021BUAA软工_助教博客]作业成绩汇总
作业及成绩 作业链接 成绩链接 个人阅读作业#1 个人阅读作业#1_成绩 个人阅读作业#2 个人阅读作业#2_成绩 结对项目-第一阶段 结对项目-第一阶段_成绩 结对项目-第二阶段 结对项目-第二阶段 ...
- 基于虹软人脸识别,实现RTMP直播推流追踪视频中所有人脸信息(C#)
前言 大家应该都知道几个很常见的例子,比如在张学友的演唱会,在安检通道检票时,通过人像识别系统成功识别捉了好多在逃人员,被称为逃犯克星:人行横道不遵守交通规则闯红灯的路人被人脸识别系统抓拍放在大屏上以 ...
- 如何提高CRM系统使用率?
随着时代的发展和市场的变化,客户在企业的眼中开始变得越来越重要.谁拥有更多的客户,谁就能在激烈的市场竞争中占据一席之地.现在很多企业通过CRM系统转变为了"以客户为中心".但是,许 ...
- 一看就懂的MySQL的聚簇索引,以及聚簇索引是如何长高的
这一篇笔记我们简述一下 MySQL的B+Tree索引到底是咋回事? 聚簇索引索引到底是如何长高的. 一点一点看,其实蛮好理解的. 如果你看过了我之前的笔记,你肯定知道了MySQL进行CRUD是在内存中 ...
- systemd服务的输出重定向到指定文件
有一种更优雅的方法可以解决systemd输出到指定文件而非/var/log/message,需要使用systemd参数与rsyslog过滤器.并指示syslog过滤器按程序名称拆分其输出. syste ...
- Azure DevOps(一)利用Azure DevOps Pipeline 构建应用程序镜像到AWS ECR
一,引言 最近项目上让开始学习AWS,作为一名合格的开发人员,当然也是学会利用Azure DevOps Pipeline 将应用程序部署到 AWS ECS(完全托管的容器编排服务).我们要学会将应用程 ...
- [bug] kafka启动报错 could not be established. Broker may not be available.
原因 配置文件和命令行中的主机名不一致,建议都用ip地址 参考 https://blog.csdn.net/getyouwant/article/details/79000524
- Win10开启移动热点
Win10开启移动热点 禁用 无线网卡 启动 无线网卡
- 如何对你的Linux系统进行基准测试: 3开源基准测试工具
如何对你的Linux系统进行基准测试: 3开源基准测试工具 0 赞0 评论 文章标签:SYS Source benchmark tool 开源 基准 系统 linux实用程序的 ...
- ssh判断免密登陆
ssh判断免密登陆 [root@jenkins ~]# vi /opt/release_code.sh #!/bin/bash . /etc/init.d/functions #echo $WORKS ...