1. 用IntelliJ IDEA新建一个maven工程

2. 在pom.xml中添加依赖:

        <dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency> <!-- 与 selenium-java 版本要一致 -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>3.14.0</version>
</dependency>

3. 编写自动化测试脚本(模拟打开浏览器并访问百度首页)

注:必须先安装相应浏览器版本的驱动

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.ie.InternetExplorerDriver; public class LoginTest1 {
public static void main(String[] args) { openEdge();
} public static void openFirefox() {
/**
* 打开firefox
*/
FirefoxOptions options = new FirefoxOptions();
options.setBinary("D:\\softwareInstallMenu\\Firefox\\firefox.exe");
System.setProperty("webdriver.gecko.driver", ".\\drivers\\geckodriver.exe");
WebDriver driver = new FirefoxDriver(options);
driver.get("http://www.baidu.com");
} /**
* 打开chrome
*/
public static void openChrome() {
System.setProperty("webdriver.chrome.driver", ".\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com"); } /**
* 打开IE
*/
public static void openIE() {
System.setProperty("webdriver.ie.driver", ".\\drivers\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.baidu.com");
} /**
* 打开Edge
*/
public static void openEdge() {
// 指定MicrosoftWebDriver路径
System.setProperty("webdriver.edge.driver", ".\\drivers\\MicrosoftWebDriver.exe");
//启动 Edge浏览器
WebDriver driver = new EdgeDriver();
driver.get("http://www.baidu.com");
}
}

4. 附加说明

(1)IE浏览器的驱动---------IEDriverServer

我们可以从 http://selenium-release.storage.googleapis.com/index.html 下载,如果该地址打不开,可以用淘宝的镜像地址:https://npm.taobao.org/mirrors/selenium/

IEDriverServer下载时得注意,你用的是什么版本的Selenium 就在对应版本里面找IEDriverServer。

(2)Chrome 浏览器驱动---------ChromeDriver

chromedriver下载时也需要下载到匹配的版本,特别是chrome浏览器和chromedriver的版本需要匹配。

可以到http://chromedriver.storage.googleapis.com/index.html,国内用户也可以到淘宝npm镜像(http://npm.taobao.org/mirrors/chromedriver)去下载对应版本的chromedriver版本。

(3)Firefox 浏览器驱动----------geckodriver

当火狐的版本<=47时,我们不需要额外的设置。但是如果安装时没有使用默认安装路径,那么和使用默认安装路径在代码处理上会有点不同:

默认安装路径,我们可以直接实例化一个FirefoxDriver,便可:

    public static void main(String args[]) {
openFirefoxDef();
} private static void openFirefoxDef(){
// 实例化 FirefoxDriver, 启动Firefox
WebDriver driver = new FirefoxDriver();
}

如果火狐不是默认安装路径,你需要指定火狐安装路径:

    public static void main(String args[]) {
openFireFoxTest();
}
public void openFireFoxTest(){
// 指定firefox 安装路径
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
// 启动firefox浏览器
WebDriver driver = new FirefoxDriver();
}

当火狐版本V48+时,那么想启动火狐浏览器,我们得去下载火狐对应的geckodriver。下载地址:https://github.com/mozilla/geckodriver/releases,基本下载最新版便可。那么我看下这时我们如何启动Firefox:

#注意这里只是支持firefox默认安装C盘的情况
public static void main(String args[]) {
openFirefoxByGeck();
}
private static void openFirefoxByGeck() {
// 设置系统变量,并设置 geckodriver 的路径为系统属性值
System.setProperty("webdriver.gecko.driver", ".\\drivers\\geckodriver.exe");
// 实例化 FirefoxDriver
WebDriver driver = new FirefoxDriver();
} #要启动firefox自定义安装位置会报PATH没有firefox二进制文件,处理如下:
FirefoxOptions options = new FirefoxOptions();
options.setBinary("D:\\Firefox\\firefox.exe"); //导入firefox安装路径
System.setProperty("webdriver.gecko.driver","./driver/geckodriver.exe");
driver = new FirefoxDriver(options);

(4)Edge浏览器----------MicrosoftWebDriver

下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

需要注意的是根据你系统版本去下载对应的MicrosoftWebDriver,不然会报错。而且下载有两种一种是MicrosoftWebDriver.exe文件,一种是MicrosoftWebDriver.msi文件,如果你下载到的是.msi文件,
那就双击运行按正常软件安装便可。如果你下载到的是MicrosoftWebDriver.exe文件,那就直接剪切放进项目的drivers文件夹中。
 
详情请参考:https://www.jianshu.com/p/305ea89b87e9 
 
 
 

java+selenium+maven+IntelliJ IDEA 搭建简单的UI自动化测试环境的更多相关文章

  1. 搭建基于IDEA+Selenium+Java+TestNG+Maven+Jenkins+SVN的Web端UI自动化测试环境

    第一步:工具下载安装配置 JDK安装与配置 IDEA安装与配置 Maven安装与配置 Tomcat部署与配置 Jenkins部署与配置 Svn安装与配置 各浏览器驱动下载与配置 第二步:集成各个工具到 ...

  2. IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建

    IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...

  3. JAVA基础-----Maven项目的搭建

    Maven项目的搭建 一.前言 maven官网:http://maven.apache.org/, 文章简介:本文章从三个模块来了解Maven,分别是 Maven的基本概念~, Maven项目的安装和 ...

  4. 转:windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)

    原文来自于:http://www.cnblogs.com/zhuyp1015/archive/2012/06/16/2552269.html 使用gvim在windows环境下搭建简单的IDE环境可以 ...

  5. 简单Web UI 自动化测试框架 pyse

    WebUI automation testing framework based on Selenium and unittest. 基于 selenium 和 unittest 的 Web UI自动 ...

  6. 【自动化基础】手把手教零基础小白搭建APP的UI自动化环境

    前言 帮助零基础小白一步步搭建UI自动化环境,完成Python+Appium+模拟器/真机的UI自动化环境搭建. 环境准备: jdk1.8.0 sdk Node.js appium python Ap ...

  7. 基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

    前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...

  8. [java,maven] 使用 maven 来搭建简单的 netty 开发环境

    大致过程是: 首先, 使用 mvn 命令在指定路径下面创建一套简单的  java 文件包. 然后, 使用 JIdea 导入 maven 项目的方式将创建好的文件包加载到 IDE 环境中.‘ 接下来, ...

  9. java+selenium+maven+testng框架(一)安装搭建

    1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...

随机推荐

  1. bzoj 2648: SJY摆棋子【KD-tree】

    其实理论上cdq更优 核心是依次取x值.y值的mid作为当前节点,向两边递归建立二叉树,树上维护size:子树大小:mx[0/1]:子树内最大x/y:mn[0/1]:子树内最小x/y:d[0/1]:这 ...

  2. bzoj 4240: 有趣的家庭菜园【树状数组+贪心】

    以为是逆序对数-- 实际上,原数组移动若干次后我们会得到一个新的下标序列,需要的移动次数是这个新下标序列的逆序对数 然后我们要让这个最小,考虑贪心先按h把下标排一遍序,然后每次询问到一种值的时候,对每 ...

  3. shell Syntax error: Bad fd number 错误解决

    最近在玩spark , 需要看一下python的spark lib 是怎么加入环境变量的. 执行: sh -x bin/pyspark 报错 + dirname bin/pyspark + cd bi ...

  4. 一起学Android之Activity

    概述 本文以一个简单的小例子,简述Android开发中Activity的相关知识,仅供学习分享使用. 什么是Activity? Activity是一个应用程序组件,通常显示为一个页面,用户可以通过Ac ...

  5. plsqldeveloper永久注册码

    注册码:Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769 password:xs374ca

  6. 简单实现人工智能:百度aip+tuling123

    目录结构: app.py # -*- coding: utf-8 -*- # __author: ward # data: 2018/12/21 # @File: app from flask imp ...

  7. Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) E

    Description Bear Limak prepares problems for a programming competition. Of course, it would be unpro ...

  8. python programming

    1. super 2. *args, **kwargs 3. class object 4. type 5. isinstance 6. list[:] = another_list

  9. 日历 php

    <?php $year=@$_GET['year']; //获得地址栏的年份 $month=@$_GET['month']; //获得地址栏的月份 if(empty($year)) $year= ...

  10. JAVA常用知识总结(五)——Linux

    简单介绍一下 Linux 文件系统? 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡.磁盘驱动器.打印机.输入输出设备.普通文件或是目录都被看作是一个文件. 也就是说在LINUX系统 ...