一、selenium 简介

Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,包括Selenium-IDE、Selenium-RC、Selenium-Webdriver 以及Selenium-Grid。

Selenium 2.0的主要新功能是集成了Webdriver的API。Webdriver的设计提供一个更简单、更简洁的编程接口以及解决的Selenium-RC API中的一些限制。Selenium-Webdriver的开发是为了更好地支持动态网页的页面元素可能已经更改,但本身不被重新加载的页面。Webdriver的目标是提供一个设计良好的面向对象的API、提供更好的支持,为Web应用程序测试问题。

Selenium版本介绍

selenium 1.0   =   seleniumGrid +  seleniumide  + seleniumRc

selenium 2.0   =   selenium1.0   +   webdriver

selenium 3.0  变更:

1)移除seleniumRc

2)全面拥抱 Java

3)Firefox 和 safari 推出自己的 Webdirver

4)selenium2.0 支持IE7-11,selenium 3.0支持IE 9 +

二、Selenium 环境搭建

1.下载JDK、安装JDK

2.配置Java 环境

1)设置JAVA_HOME 环境变量:安装路径

2) 设置Path值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3) 设置CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

4) 校验是否安装完成可以在控制台输入: java –version

5) 安装IDEA集成开发环境

3.Maven是一个项目管理工具,可以通过项目进行构建打包管理项目中所需的jar包。通过Idea 新建 maven工程。注意:pom.xml 中需引入selenium所需要的jar包

三、认识TestNG

testng是一个强大的测试框架,类似于junit,提供了强大的注解,便于对case的各种操作。

TestNG引入:Pom.xml 添加如下:

<dependency>

<groupId>org.testng</groupId>

<artifactId>testng</artifactId>

<version>6.9.10</version>

</dependency

TestNG注解:

1)@Test:管理用例,1个test代表一个用例。

2)@BeforeTest:所有Test运行之前执行(只执行1次,类似数据准备打开浏览器)

3)@BeforeMethed:每一个Test运行前执行1次(类似于创建用户操作)

4)@AfterTest:所有Test运行之后执行(只执行1次,类似于关闭浏览器炒作)

5)@AfterMethed:每一个Test运行之后执行1次

常用校验方式:

相等:Assert.assertEquals()

不相等:Assert.assertNotEquals()

为空:Assert.assertNull()

不为空:Assert.assertNotNull()

四、Selenium入门操作

启动浏览器操作:

--启动Chrome浏览器:(谷歌浏览器默认安装路径)

1.需要chromedriver.exe

下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads

2.工程根目录下新建drivers文件夹,并把chromedriver.exe放入

3.启动Chrome 浏览器,如图:

public class openChromTest {
/* 启动谷歌浏览器
1、创建ChromeDriver对象
2、获取地址,打开百度页面
*/
@Test
public void openGe(){
WebDriver driver =new ChromeDriver();
driver.get("https://www.baidu.com");
}

--启动IE浏览器操作:(IE安装目录为指定位置)

1.需要IEDriverServer.exe

2.下载地址(http://selenium-release.storage.googleapis.com/index.html)IE的exe文件分64位与32位,请根据自已的机器选择相应的exe文件

3.启动IE 浏览器,如图:

 /*
*1、指定IEDriverServer.exe路径
*2、new一个InternetExplorerDriver 对象,启动IE浏览器
*/
@Test
public void openIETest(){
System.setProperty("webdriver.ie.driver",".\\drivers\\IEDriverServer");
WebDriver driver = new InternetExplorerDriver();
}

--启动Edge浏览器:

1.控制台输入“ver”查看版本系统版本

2.根据系统版本下载对应的driver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

3.启动浏览器,如图:

/*
*1、指定EdgeDriverServer.exe路径
*2、new一个EdgeDriver 对象,启动浏览器
*/
@Test
public void openEdgeTest(){
System.setProperty("webdriver.edge.driver",".\\drivers\\EdgeDriverServer");
WebDriver driver = new EdgeDriver();
}

五、Selenium关闭浏览器

1.关闭当前窗口

driver.close();

2.关闭所有窗口并退出

driver.quit();

public class PeixunDemo {
private WebDriver driver;
private String Url; /*
* 创建ChromeDriver对象
* 给Url赋值,启动谷歌浏览器
* 关闭谷歌浏览器页面
*/
@Test
public void beforeTest() {
driver= new ChromeDriver();
Url = "https://www.baidu.com";
driver.get(Url);
driver.close();
}
}

   

六、浏览器常用操作

driver.navigate().back();//向前

driver.navigate().forward();//向后

driver.navigate().refresh();//当前页刷新

driver.manage().window().maximize();//浏览器窗口最大化

String title = driver.getTitle();//返回当前页面的

TtileString currentUrl = driver.getCurrentUrl();//返回当前页面的url

getWindowHandle()//返回当前的浏览器的窗口句柄

getWindowHandles() //返回当前的浏览器的所有窗口句柄

getPageSource() //返回当前页面的源

Selenium ? 也要学...!的更多相关文章

  1. 「UI 测试自动化selenium」汇总

    <selenium 基础之java实现> selenium RC 环境配置 菜鸟学自动化测试(一)----selenium IDE 菜鸟学自动化测试(二)----selenium IDE ...

  2. 自动化测试基础篇--Selenium简单的163邮箱登录实例

    摘自https://www.cnblogs.com/sanzangTst/p/7472556.html 前面几篇内容一直讲解Selenium Python的基本使用方法.学习了什么是selenium: ...

  3. 小白学 Python 爬虫(42):春节去哪里玩(系列终篇)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. 在做自动化测试之前你需要知道的,转自:http://www.cnblogs.com/fnng/p/3653793.html

    什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念 ...

  5. 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)

    菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...

  6. 学习用java基于webMagic+selenium+phantomjs实现爬虫Demo爬取淘宝搜索页面

    由于业务需要,老大要我研究一下爬虫. 团队的技术栈以java为主,并且我的主语言是Java,研究时间不到一周.基于以上原因固放弃python,选择java为语言来进行开发.等之后有时间再尝试pytho ...

  7. 吾八哥学Selenium(四):操作下拉框select标签的方法

    我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法.为了让大 ...

  8. 吾八哥学Selenium(三):操作复选框checkbox/单选框radio的方法

    复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下! html测试页面代码 ...

  9. 吾八哥学Selenium(二):操作输入框/按钮的方法

    一个web页面一定少不了输入框或者按钮这两种元素,那么在Python里如何使用Selenium操作web页面里的输入框和按钮呢?本文带你简单入门. 本文采用了一个例子,就是利用Selenium打开百度 ...

随机推荐

  1. ModelAndView返回Json格式的数据

    第一种方式: 1.自定义类JacksonUtil.java,类中实现tojson方法(即将数据转成json类型): 2.自定义类JsonView 继承 AbstractView 3.xml中配置bea ...

  2. 使用jQuery快速高效制作网页交互特效-----JavaScript操作DOM对象

    一.DOM操作分类 使用JavaScript操作DOM时通常分为三类:DOM    Core.HTMl--DOM和CSS-DOM 二.访问节点 节点属性 三.节点信息 四.操作节点的属性 语法: ge ...

  3. 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest

    目录 Contest Info Solutions A. Berstagram B. The Feast and the Bus C. Trip to Saint Petersburg E. The ...

  4. 2017.11.7 Noip2017 考前模拟赛

    ----------------------------------T1---------------------------------- ——>数学老师的报复 题目描述 11 班数学大佬 Y ...

  5. [转]protobuf的编译安装

    github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...

  6. wepy框架入门

    安装 wepy 命令行工具. npm install wepy-cli -g 在开发目录生成开发DEMO. wepy new myproject 开发实时编译. wepy build --watch ...

  7. 拼图游戏(8 puzzle)

    如图所示,这是一个九宫格(这倒是让我想起了小时候老师在黑板上教导我们的如何通过一系列的拼凑,将横行,竖行,以及斜行都拼到和相等),格子中有一个格子是空的,另外八个格子分别有数字1--8,我们的任务是将 ...

  8. x2goserver 连接问题

    The remote proxy closed the connection while negotiating the session. This may be due to the wrong a ...

  9. qt 创建程序目录

    voidinitDir() { QStringuserFilePath=QStandardPaths::writableLocation(QStandardPaths::DocumentsLocati ...

  10. 通过adb操作安卓亮屏、设置背光亮度、解锁、打开app

    亮屏 adb shell inputkeyevent 26 keyevent 26表示点击power Android adb 点亮和关闭屏幕的命令 # kernel休眠 echo mem > / ...