Java+Selenium+Chrome、Firefox自动化测试环境搭建

一、环境:
软件:idea+java+maven
selenium版本:3.14.0
java版本:jdk1.8
chrome版本:80.0.3987.122
chromedriver版本:80.0.3987.106
firefox版本:55.0
geckodriver版本:0.19.0

二、软件下载
1、下载安装jdk
jdk1.8下载地址:
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
下载步骤,Java SE Development Kit 8u241
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第1张图片选择windows版本下载,我电脑是64位系统,所以我下载jdk-8u241-windows-x64.exe版本
下载后安装,一路‘下一步’,OK。安装完成后配置环境变量:
(1)打开环境变量配置。计算机→属性→高级系统设置→高级→环境变量,在系统变量中配置。
(2)配置JAVA_HOME。新建,变量名JAVA_HOME,变量值,jdk路径,我的路径是D:\Java\jdk1.8.0_241,保存。
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第2张图片
(3)配置CLASSPATH。新建,变量名CLASSPATH,变量值,.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(第一个分号前前面有一个点)。
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第3张图片
(4)配置Path。打开Path变量,在变量值最前加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第4张图片
(5)验证
运行cmd,输入java -version,显示java版本则成功。
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第5张图片
2、安装maven
(1)maven下载:http://maven.apache.org/download.cgi
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第6张图片
(2)配置环境变量:
在系统变量内添加环境变量 MAVEN_HOME,值为解压后的目录
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第7张图片
在系统变量path中添加%MAVEN_HOME%\bin
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第8张图片
win+R,运行cmd命令行 mvn -v 检查是否安装成功,即如下图表示成功
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第9张图片
(3)settings 配置
在 apache-maven-3.6.3→conf→settings.xml 中配置

<localRepository>D:\maven\MavenRepository</localRepository>

Java+Selenium+Chrome、Firefox自动化测试环境搭建_第10张图片
阿里镜像(下载依赖速度会快很多)

<mirrors>
   <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

Java+Selenium+Chrome、Firefox自动化测试环境搭建_第11张图片
3、chrome镜像
(1)chrome历史版本:https://www.chromedownloads.net/
我chrome是 80.0.3987.122
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第12张图片
(2)下载chromedriver驱动:http://npm.taobao.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html
我chromedriver是 80.0.3987.106
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第13张图片
如果需要看到最新版的chrome和chromedriver版本对应,点击最新版本的chromedrives,查看notes.txt,就可以获得最新的版本对应表。
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第14张图片

---------ChromeDriver 80.0.3987.106 (2020-02-13)---------
Supports Chrome version 80
Resolved issue 3155: Load page was aborted when using a proxy (v.77/78). [Pri-2]
Resolved issue 3164: Chromedriver version 77 doesn`t wait for page to fully load before interacting with an element [Pri-2]
Resolved issue 3179: ChromeDriver log should include the port used by the driver [Pri-2]
Resolved issue 3180: Enable SetGeoLocation for w3c mode [Pri-]
Resolved issue 3184: UnexpectedAlertOpen status should always include Alert text [Pri-3]
Resolved issue 3188: Improve message when CRX2 Extension is loaded  [Pri-2]
Resolved issue 3196: ChromeDriver 78 race condition in ExecuteGetPageSource may result in JavascriptException [Pri-2]
Resolved issue 3226: add --ignore-certificate-errors flag when acceptInsecureCerts true [Pri-2]
Resolved issue 3230: Update error message and return status for no such execution context [Pri-2]
Resolved issue 3239: ChromeDriver may block indefinitely while waiting for pending navigation [Pri-2]
Resolved issue 3264: Allow setting SameSite cookie attribute [Pri-]
Resolved issue 3336: WebDriver 80.0.3987.16 can't open Chrome on Linux [Pri-1]

4、firefox镜像
(1)下载firefox历史版本 http://ftp.mozilla.org/pub/firefox/releases/
我下载的firefox版本是 55.0,较高版本不支持FireBug和FirePath
设置firefox不再更新
安装之后打开火狐浏览器的安装目录,找到firefox的快捷方式,右键 -> 属性 -> 打开文件所在位置 (须安装在C盘,否则做自动化脚本时报错)
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第15张图片
打开浏览器的安装目录之后,找到并打开一个defaults的文件夹
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第16张图片
打开defaults文件夹之后,看到一个pref的文件夹。打开后有一个channel-prefs.js的文件并打开
在这里插入图片描述
把"release"去掉,显示如下

pref("app.update.channel", "");

再次打开火狐浏览器查看版本号,就不会再更新了。
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第17张图片
(2)下载geckodriver驱动:https://github.com/mozilla/geckodriver/releases
我下载的geckodriver是 0.19.0
下载firefox对应geckodriver最好看下官方文档说明
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第18张图片
三、IDEA搭建Maven项目
(1)配置maven
File —> settings —> 搜索 maven
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第19张图片
(2)创建一个 maven 项目,点击File – New – project
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第20张图片
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第21张图片
点击Next
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第22张图片
点击Finish就创建了maven项目
(3)pom.xml导入依赖
maven下载:https://mvnrepository.com/
搜索selenium,如下图
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第23张图片

        <!--selenium-->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.14.0</version>
        </dependency>
        <!--testng-->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.9</version>
        </dependency>

Java+Selenium+Chrome、Firefox自动化测试环境搭建_第24张图片
(4)代码

package com.selenium.demo;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class TestSelenium {

    public WebDriver driver;

    @BeforeMethod
    public void open() {
        //设置chromedriver路径
        System.setProperty("webdriver.chrome.driver","D:\\chromedriver.exe");
        //实例化chromedriver
        driver = new ChromeDriver();
        //设置geckodriver路径
//        System.setProperty("webdriver.gecko.driver","D:\\geckodriver.exe");
        //实例化firefoxdriver
//        driver = new FirefoxDriver();
        //浏览器最大化
        driver.manage().window().maximize();
    }

    @Test
    public void getTest() throws InterruptedException {
        //打开百度首页
        driver.get("http://www.baidu.com");
        //等待2s
        Thread.sleep(2000);
        //找到id为 kw的元素
        WebElement element = driver.findElement(By.id("kw"));
        //输入selenium
        element.sendKeys("selenium");
        //点击按钮
        driver.findElement(By.id("su")).click();
    }

    @AfterMethod
    public void close(){
        //关闭浏览器
        driver.quit();
    }

}

直接右键点击执行即可:
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第25张图片
chrome运行结果如下:
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第26张图片
firefox运行结果如下:
Java+Selenium+Chrome、Firefox自动化测试环境搭建_第27张图片

你可能感兴趣的:(UI自动化,java,selenium,maven)