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 什么是数据驱动?简答的理解就是测试数据决定了测试结果,这就是所谓数据驱动.数据驱动包含了数据,他就是测试数据,在自动化领域里 ...
随机推荐
- P2789 直线交点数
P2789 直线交点数分成两种情况,一种是平行直线,一种是自由直线,在自由直线中可以存在平行直线,但是不能和第一组的直线平行.自由直线和平行直线的交点是i*(n-i). #include<ios ...
- Python3 卷积神经网络卷积层,池化层,全连接层前馈实现
# -*- coding: utf-8 -*- """ Created on Sun Mar 4 09:21:41 2018 @author: markli " ...
- 【原创】ABP源码分析
接口篇 IConventionalDependencyRegistra接口分析 待续.............. 模块篇 敬请期待...... 领域篇 敬请期待...... 消息篇 敬请期待..... ...
- 项目冲刺Fifth
Fifth Sprint 1.各个成员今日完成的任务 蔡振翼:编写博客,了解php 谢孟轩:无 林凯:优化登录判断逻辑,熟悉相关php及mysql数据库技术的使用 肖志豪:帮助组员 吴文清:实现管理员 ...
- 4513: [Sdoi2016]储能表 数位DP
国际惯例的题面: 听说这题的正解是找什么规律,数位DP是暴力......好的,我就写暴力了QAQ.我们令f[i][la][lb][lc]表示二进制从高到低考虑位数为i(最低位为1),是否顶n上界,是否 ...
- 洛谷.3391.[模板]文艺平衡树(Splay)
题目链接 //注意建树 #include<cstdio> #include<algorithm> const int N=1e5+5; //using std::swap; i ...
- Python 将图片转化为 HTML 页面
最近在 GitHub 看到一个挺有意思的 Python 程序(img2html: Convert a image to HTML). 它能将图片的每个像素用文字代替,最后生成一个HTML文档,在浏览器 ...
- AngularJS中$interval的用法
在AngularJS中$interval用来处理间歇性处理一些事情. 最常用的是: var app = angular.module("app",[]); app.controll ...
- Delphi 开发ActiveX控件(非ActiveForm)
Delphi 开发ActiveX控件(非ActiveForm) Q:为什么不采用ActiveForm工程?通过它可以快速开发带窗体控件,创建过程也非常简单(都不用考虑安全接口问题),很省事! A:如果 ...
- android: 发送自定义广播
5.3.1 发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发.因此新建一个 MyBroadcastReceiver 继承自 Broadca ...