Selenium Web 自动化 - Selenium(Java)环境搭建
Selenium Web 自动化 - Selenium(Java)环境搭建
2016-07-29
1 下载JDK
JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2 安装和配置JDK
- 安装目录尽量不要有空格 D:\Java\jdk1.8.0_91; D:\Java\jre8
- 设置环境变量: “我的电脑”->右键->“属性”->”高级系统设置”->"新建系统变量" JAVA_HOME:D:\Java\jdk1.8.0_91 Path: %JAVA_HOME%\bin 重启计算机
- 验证一下是否搭建成功 打开CMD,输入java –version
3 下载eclipse
eclipse下载地址:https://www.eclipse.org/downloads/packages/release/luna/sr2%20
4 下载selenium
selenium下载地址:http://www.seleniumhq.org/download/ 下载java版本的selenium,需要翻墙
5 将selenium类库引入eclipse
- 打开eclipse,新建一个用户自定义类库,依次点击菜单栏上的“Window”->“Preferences”->“Java”->“Build path”->“User Libraries”:
- 在用户类库界面点击“New...”,命名为:selenium,然后点击OK保存,
- 在用户类库界面点击“Add External JARS...”,添加selenium-java-2.48.2.jar和libs
6 一个简单的web自动化演示
- 打开eclipse,新建一个Java project,Projectname为FirstSeleniumDemo
- 选中seleniumdemo项目 ->右键 ->Build Path ->Add Libraries -> User Library ->Next –>勾选selenium ->点击 Finish
- 首先我们在src目录下,新建一个Java类,Package为SeleniumDemo,Name:FirstDemo
- 输入如下代码:
package SeleniumDemo; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert; public class FirstDemo { public static void main(String[] args) {
//声明一个火狐浏览器driver对象
WebDriver driver = new FirefoxDriver();
//打开360搜索
driver.get("http://www.haosou.com/"); //找到搜索框元素
WebElement searchInput = driver.findElement(By.name("q"));
//向搜索框输入“selenium”
searchInput.sendKeys("selenium"); //找到搜索按钮
WebElement searchButton = driver.findElement(By.id("search-button"));
//点击搜索按钮
searchButton.click();
try {
//这里我们暂时用sleep方式等待页面条状,后续会讲到如何智能等待
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
} //跳转之后的页面关键字输入框元素
WebElement keywordInput = driver.findElement(By.id("keyword"));
//验证输入框的内容是不是selenium
//Assert.assertEquals(keywordInput.getAttribute("value"), "selenium"); //关闭浏览器
driver.quit();
}
}
5. 在eclipse中右键运行该程序“run as Java Application”
Selenium Web 自动化 - Selenium(Java)环境搭建的更多相关文章
- Selenium Web 自动化 - 项目实战环境准备
Selenium Web 自动化 - 项目实战环境准备 2016-08-29 目录 1 部署TestNG 1.1 安装TestNG 1.2 添加TestNG类库2 部署Maven 2.1 mav ...
- Selenium Web 自动化 - Selenium常用API
Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作 1.1 用webdriver打开一个浏览器 1.2 最大化浏览器&关闭浏览器 ...
- Selenium Web 自动化
1 Selenium Web 自动化 - Selenium(Java)环境搭建 2 Selenium Web 自动化 - 如何找到元素 3 Selenium Web 自动化 - Selenium常用A ...
- Selenium Web 自动化 - 项目持续集成(进阶)
Selenium Web 自动化 - 项目持续集成(进阶) 2017-03-09 目录 1 背景及目标2 环境配置 2.1 SVN的安装及使用 2.2 新建Jenkins任务3 过程分析 1 背景 ...
- Selenium Web 自动化 - 项目实战(一)
Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...
- Selenium Web 自动化 - 项目实战(三)
Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解 3.1 解析新增页面目录 3.2 解析新增测试用例目录 3. ...
- Selenium Web 自动化 - 项目持续集成
Selenium Web 自动化 - 项目持续集成 2017-02-13 目录 1环境准备 1.1 安装git 1.2 安装jenkins 1.3 安装jenkins插件 1.4 jekins ...
- Selenium Web 自动化 - 如何找到元素
Selenium Web 自动化 - 如何找到元素 2016-07-29 1. 什么是元素? 元素:http://www.w3school.com.cn/html/html_elements.asp ...
- Selenium Web 自动化 - 项目实战(二)
Selenium Web 自动化 - 项目实战(二) 2016-08-08 什么是数据驱动?简答的理解就是测试数据决定了测试结果,这就是所谓数据驱动.数据驱动包含了数据,他就是测试数据,在自动化领域里 ...
随机推荐
- npm link中文文档
Symlink(符号链接)一个package文件夹. 概括 npm link (in package dir) npm link [<@scope>/]<pkg>[@<v ...
- Javascript实现对象的继承
在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼.压个啥样,就得是个啥样,不能随便动,动一动就坏了.而在Javascript中,没有模子,月饼被换成了面 ...
- BZOJ.4589.Hard Nim(FWT)
题目链接 FWT 题意即,从所有小于\(m\)的质数中,选出\(n\)个数,使它们异或和为\(0\)的方案数. 令\(G(x)=[x是质数]\),其实就是对\(G(x)\)做\(n\)次异或卷积后得到 ...
- Python3NumPy——ndarray对象
Python3NumPy——ndarray对象 1.前沿 推荐导入语法:import numpy as np NumPy中使用ndarray对象表示数组,ndarray是NumPy库的核心对象 2.创 ...
- [SNOI2017]一个简单的询问
[SNOI2017]一个简单的询问 题目大意: 给定一个长度为\(n(n\le50000)\)的序列\(A(1\le A_i\le n)\),定义\(\operatorname{get}(l,r,x) ...
- [BZOJ2238]Mst
[BZOJ2238]Mst 题目大意: 给你一个\(n(n\le50000)\)个点,\(m(m\le10^5)\)条边的无向带权图.\(q(q\le10^5)\)次询问,每次询问去掉一条边后图能否连 ...
- C# 的枚Enum
简短的解释: enum 关键字用来声明枚举,一种包含一组被称为枚举数列表的 enum myType{ a, b, c,} int num = 1;Console.Write((myType)num); ...
- 10个提升MySQL性能的小技巧
从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之 ...
- 绘图 Painter转接口封装的方式
记录下思想 适用于业务逻辑相对单纯的一些画法,比如画背景(颜色,背景,边框等) 一个Draw方法中如果绘制比较复杂的话,就会导致代码混乱,而不灵活,每次需求更改就得重新画过,可重用性差. 以接 ...
- 在AngularJS中实现一个延迟加载的Directive
所谓的延迟加载通常是:直到用户交互时才加载.如何实现延迟加载呢? 需要搞清楚三个方面: 1.html元素的哪个属性需要延迟加载?2.需要对数据源的哪个字段进行延迟加载?3.通过什么事件来触发延迟加载? ...