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. P2789 直线交点数

    P2789 直线交点数分成两种情况,一种是平行直线,一种是自由直线,在自由直线中可以存在平行直线,但是不能和第一组的直线平行.自由直线和平行直线的交点是i*(n-i). #include<ios ...

  2. Python3 卷积神经网络卷积层,池化层,全连接层前馈实现

    # -*- coding: utf-8 -*- """ Created on Sun Mar 4 09:21:41 2018 @author: markli " ...

  3. 【原创】ABP源码分析

    接口篇 IConventionalDependencyRegistra接口分析 待续.............. 模块篇 敬请期待...... 领域篇 敬请期待...... 消息篇 敬请期待..... ...

  4. 项目冲刺Fifth

    Fifth Sprint 1.各个成员今日完成的任务 蔡振翼:编写博客,了解php 谢孟轩:无 林凯:优化登录判断逻辑,熟悉相关php及mysql数据库技术的使用 肖志豪:帮助组员 吴文清:实现管理员 ...

  5. 4513: [Sdoi2016]储能表 数位DP

    国际惯例的题面: 听说这题的正解是找什么规律,数位DP是暴力......好的,我就写暴力了QAQ.我们令f[i][la][lb][lc]表示二进制从高到低考虑位数为i(最低位为1),是否顶n上界,是否 ...

  6. 洛谷.3391.[模板]文艺平衡树(Splay)

    题目链接 //注意建树 #include<cstdio> #include<algorithm> const int N=1e5+5; //using std::swap; i ...

  7. Python 将图片转化为 HTML 页面

    最近在 GitHub 看到一个挺有意思的 Python 程序(img2html: Convert a image to HTML). 它能将图片的每个像素用文字代替,最后生成一个HTML文档,在浏览器 ...

  8. AngularJS中$interval的用法

    在AngularJS中$interval用来处理间歇性处理一些事情. 最常用的是: var app = angular.module("app",[]); app.controll ...

  9. Delphi 开发ActiveX控件(非ActiveForm)

    Delphi 开发ActiveX控件(非ActiveForm) Q:为什么不采用ActiveForm工程?通过它可以快速开发带窗体控件,创建过程也非常简单(都不用考虑安全接口问题),很省事! A:如果 ...

  10. android: 发送自定义广播

    5.3.1    发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发.因此新建一个 MyBroadcastReceiver 继承自 Broadca ...