Selenium Web 自动化 - Selenium(Java)环境搭建

2016-07-29

1 下载JDK

JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2 安装和配置JDK

  1. 安装目录尽量不要有空格  D:\Java\jdk1.8.0_91; D:\Java\jre8
  2. 设置环境变量: “我的电脑”->右键->“属性”->”高级系统设置”->"新建系统变量" JAVA_HOME:D:\Java\jdk1.8.0_91 Path: %JAVA_HOME%\bin 重启计算机
  3. 验证一下是否搭建成功 打开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

  1. 打开eclipse,新建一个用户自定义类库,依次点击菜单栏上的“Window”->“Preferences”->“Java”->“Build path”->“User Libraries”:
  2. 在用户类库界面点击“New...”,命名为:selenium,然后点击OK保存,
  3. 在用户类库界面点击“Add External JARS...”,添加selenium-java-2.48.2.jar和libs

6 一个简单的web自动化演示

  1. 打开eclipse,新建一个Java project,Projectname为FirstSeleniumDemo
  2. 选中seleniumdemo项目 ->右键 ->Build Path ->Add Libraries -> User Library ->Next –>勾选selenium ->点击 Finish
  3. 首先我们在src目录下,新建一个Java类,Package为SeleniumDemo,Name:FirstDemo
  4. 输入如下代码:
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)环境搭建的更多相关文章

  1. Selenium Web 自动化 - 项目实战环境准备

    Selenium Web 自动化 - 项目实战环境准备 2016-08-29 目录 1 部署TestNG  1.1 安装TestNG  1.2 添加TestNG类库2 部署Maven  2.1 mav ...

  2. Selenium Web 自动化 - Selenium常用API

    Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作  1.1 用webdriver打开一个浏览器  1.2 最大化浏览器&关闭浏览器 ...

  3. Selenium Web 自动化

    1 Selenium Web 自动化 - Selenium(Java)环境搭建 2 Selenium Web 自动化 - 如何找到元素 3 Selenium Web 自动化 - Selenium常用A ...

  4. Selenium Web 自动化 - 项目持续集成(进阶)

    Selenium Web 自动化 - 项目持续集成(进阶) 2017-03-09 目录 1 背景及目标2 环境配置  2.1 SVN的安装及使用  2.2 新建Jenkins任务3 过程分析 1 背景 ...

  5. Selenium Web 自动化 - 项目实战(一)

    Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...

  6. Selenium Web 自动化 - 项目实战(三)

    Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解  3.1 解析新增页面目录  3.2 解析新增测试用例目录  3. ...

  7. Selenium Web 自动化 - 项目持续集成

    Selenium Web 自动化 - 项目持续集成 2017-02-13 目录 1环境准备  1.1 安装git  1.2 安装jenkins  1.3 安装jenkins插件  1.4 jekins ...

  8. Selenium Web 自动化 - 如何找到元素

    Selenium Web 自动化 - 如何找到元素 2016-07-29 1. 什么是元素? 元素:http://www.w3school.com.cn/html/html_elements.asp ...

  9. Selenium Web 自动化 - 项目实战(二)

    Selenium Web 自动化 - 项目实战(二) 2016-08-08 什么是数据驱动?简答的理解就是测试数据决定了测试结果,这就是所谓数据驱动.数据驱动包含了数据,他就是测试数据,在自动化领域里 ...

随机推荐

  1. php页面静态化,ob缓存方法

    <?php ob_start();//开启缓存 //要生成静态网页的内容开始 ?> 中间的html代码 <?php //要生成静态网页的内容结束 //把生成的静态内容保存到文件,而不 ...

  2. MySQL数据库-----基本命令操作

    小编之前一直想要了解一下,如何搭建数据库,这里分享一下在此之前的一些准备工作,首先小编是先了解数据库(mysql),以下是小编的一些认识: 一.mysql常用命令1.mysql登录和退出 登录:mys ...

  3. Git问题Everything up-to-date解决

    Git问题Everything up-to-date解决 [自己的亲身错误体验] 我的上一篇博客,说了怎么上传一个项目到git远程上面.今天我写好一个小栗子,准备再次上传的时候.我依旧是放在我的F:\ ...

  4. 本地Sql Server数据库传到服务器数据库

    将网站项目上传到服务器时,会遇到本地数据库该如何上传的问题.下面在西部数码购买的虚拟主机的基础上,解决数据库上传问题.   1.在西部数码购买虚拟主机后,会赠送了一个数据库,该数据库就可以作为网站项目 ...

  5. Asp.Net Mvc 自定义扩展

    目录: 自定义模型IModelBinder 自定义模型验证 自定义视图引擎 自定义Html辅助方法 自定义Razor辅助方法 自定义Ajax辅助方法 自定义控制器扩展 自定义过滤器 自定义Action ...

  6. [java web]Idea+maven+spring4+hibernate5+struts2整合过程

    摘要 最近也在网上找了些教程,试着使用maven进行包依赖关系的管理,也尝试着通过注解的方式来整合ssh框架.在这个过程中,踩了不少的坑.折腾很长时间,才算把架子折腾起来.这里把结果整理下,作为以后工 ...

  7. Knockout.Js官网学习(加载或保存JSON数据)

    前言 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地存储需要序列化数据),交换数据最方便的就是使用JSON格式 – 大多数的Ajax应用程 ...

  8. Unity中巧用协程和游戏对象的生命周期处理游戏重启的问题

    主要用到协程(Coroutines)和游戏对象的生命周期(GameObject Lifecycle)基础知识,巧妙解决了游戏重启的问题. 关于协程,这里有篇文章我觉得写的非常好,理解起来也很容易.推荐 ...

  9. LM && NTLM && ophcrack && RainBow table (转)

    Windows密码的加密方式:Windows 主要使用以下两种(包含但不限于)算法对用户名和密码进行加密:分 别是LanManager(LM)和NTLM,LM只能存储小于等于14个字符的密码hash, ...

  10. Android GUI之Activity、Window、View

    相信大家在接触Android之初就已经知道了Activity中的setContentView方法的作用了,很明显此方法是用于为Activity填充相应的布局的.那么,Activity是如何将填充的布局 ...