Selenium webdriver Java 开始
最早接触的selenium是 selenium IDE,当时是为了准备论文。为了用IDE还下载了Firefox浏览器。后来接触过两个项目都需要selenium,一个采用selenium webdirver+junit4 +java,另外一个是采用 robot+selenium2library 。总体感觉就是开源、简单、使用范围广、是网页测试必备单品。
关于selenium的好的学习资料:
- 官方User Guide: http://seleniumhq.org/docs/
- 官方API: http://selenium.googlecode.com/git/docs/api/java/index.html
- 中文API: http://download.csdn.net/detail/testingba/3811354
- 虫师博客: http://www.cnblogs.com/fnng/category/349036.html
- github: https://github.com/SeleniumHQ/selenium/
- selenium github docs: http://seleniumhq.github.io/selenium/docs/api/py/
- 乙醇的各种语言的selenium https://github.com/easonhan007/webdriver_guide/blob/master/README.md
- 易百的webdriver: http://www.yiibai.com/selenium/selenium_webdriver.html
一个简单的小例子
首先,让我们还是从一个小例子开始,这样可以有一个总体的了解。废话一句,一般下载东西我都喜欢从官网下载,虽然速度慢了点,但是好处多啊,第一放心,第二没啥乱七八糟的捆绑东西,第三顺便还可以瞅瞅官方文档,多好。
下载并安装(我的是Linux环境):
1. JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html
我的环境是JDK 1.7。在终端输入命令"java -version",如果现实类似如下信息,说明JDK已经安装成功。
$ java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
2. Eclipse:http://www.eclipse.org/downloads/
JAVA编辑器,简单,好用,强大。下载解压即可。
3. Selenium: http://code.google.com/p/selenium/downloads/list
有两个东西需要下载:selenium-server-standalone-2.44.0.jar 和selenium-java-2.44.0.zip。将selenium-java-2.44.0.zip解压之后获得:selenium-java- 2.44.0.jar selenium-java-2.44.0-srcs.jar。将这三个jar文件放到一个文件夹里。
4.可选 Firebug。
一款很经典的定位网页元素以及查看网页源码的插件。比如说下面的例子里我怎么知道”百度一下“的id是”su“呢?当然就是通过Firebug定位咯。安装方法是在火狐的附加组件里搜索”Firebug",然后我这边选择的是“Firebug 2.0.8",安装即可。
正式开始
1. New-> Java Project , 输入工程名“selenium_demo”。
2. 添加selenium jar包。有两种方式,人选其一即可:
1)直接添加External JARs。在工程名上右键,选择 “Properties” -> “Java Build Path” -> “Libraries” -> “Add External JARs”,添加进去上面的3个 selenium jar包。
2)自己新建一个库,然后将我们下载好的jar文件放进去。个人觉得这一种比较好,因为导入进去之后selenium库是单独的,而且其他项目也可 以利用。在eclipse新建用户库,方法是打开“Windows"->"Preferences"-> "User Libraries" ->"New",输入库名(”Selenium_Library"),点击”OK",再次选中“Selenium_Library",点击”Add External JARs...",选择上述的3个selenium jar包路径,点击“打开”用户库新建完成。最后是在本项目中导入用户库,方法是在项目名上右键,选择"Properties"->"Java Build Path"->"Libraries"->"Add Library..."->"User Library",选中刚刚新建的用户库(Selenium_Library),点击”Finish"即可。
3. 新建一个包 “com.selenium.demo” , 新建一个类 “TestSelenium.java” ,在类中输入如下内容:
package com.selenium.demo; import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver; public class TestSelenium {
WebDriver driver=null; @Before
public void setUp() throws Exception {
driver=new FirefoxDriver();
driver.get("http://www.baidu.com");
driver.manage().window().maximize();
} @After
public void tearDown() throws Exception {
driver.quit();
} @Test
public void test() throws InterruptedException {
driver.findElement(By.id("kw")).sendKeys("Selenium");
driver.findElement(By.id("su")).click();
Thread.sleep(1000);
assertTrue(driver.getTitle().contains("Selenium"));
}
}
4. 在类名上右键-->Run As-->JUnit Test 就可以看到效果了。selenium会打开火狐浏览器,打开百度,搜索“Selenium",然后关掉。
5.查看结果。在下方的JUnit可以看到是否pass。如果找不到JUnit窗口,可以通过 "Windows"->"Show Views"->"Other"->"JUnit" 打开。
Selenium webdriver Java 开始的更多相关文章
- Selenium Webdriver java 积累一
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...
- [selenium webdriver Java]常用api
1. 获取元素文本 WebElement类的getText()方法返回元素的innerText属性.所以元素里如果有子节点一样也会被返回出来.如下所示 public class GetText { @ ...
- [selenium webdriver Java]元素定位——findElement/findElements
策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver ...
- [selenium webdriver Java]隐式的等待同步
Selenium WebDriver提供了隐式等待来同步测试.当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常 即,当元素没 ...
- Selenium WebDriver java 简单实例
开发环境 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse: 下载地址:http ...
- Java 学习笔记 (二) Selenium WebDriver Java 弹出框
下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍 ...
- Selenium webdriver Java 操作IE浏览器
V1.0版本:直接新建WebDriver使用 import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetE ...
- Selenium webdriver Java firefox 路径设置问题
问题: Cannot find firefox binary in PATH. Make sure firefox is installed. 原因:selenium找不到Firefox浏览器. 方法 ...
- Selenium webdriver Java 高级应用
对于这一段还蛮有感慨的,只想说,代码还是需要自己去敲的. 1. 改变用户代理 import org.junit.AfterClass; import org.junit.BeforeClass; im ...
随机推荐
- JSP 基础之 JSTL <c:if>用法
<c:if>还有另外两个属性var和scope.当我们执行<c:if>的时候,可以将这次判断后的结果存放到属性var里:scope则是设定var的属性范围.哪些情况才会用到va ...
- 网络大数据分析 -- 使用 ElasticSearch + LogStash + Kibana 来可视化网络流量
https://blog.csdn.net/yeasy/article/details/45332493
- 如何php防止XSS攻击
什么是XSS:这里通俗的讲,就像是SQL注入一样,XSS攻击也可以算是对HTML和JS的一种注入.你本来希望得到是从用户那得到一段有用的文本文字,但用户提交给你的却是别有用心的可执行javascrip ...
- 【转载】Linux中profile、bashrc、bash_profile之间的区别和联系
如果你想对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效.~/.bash_profile:每个用户都可使用该文 ...
- django 项目使用setting文件里定义的变量方法
1.在Django项目的settings文件里定义里变量 REDIS_CONN = { 'HOST':'127.0.0.1', 'PORT':6379, 'DB':0,} 2.函数需要使用settin ...
- CF 915 D 拓扑排序
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; const int mod = 14285 ...
- CodeForces 669A
链接:http://codeforces.com/problemset/problem/669/A 本文链接:http://www.cnblogs.com/Ash-ly/p/5442950.html ...
- 洛谷——P2958 [USACO09OCT]木瓜的丛林Papaya Jungle
P2958 [USACO09OCT]木瓜的丛林Papaya Jungle 题目描述 Bessie has wandered off the farm into the adjoining farmer ...
- c++ primer敲代码第二章
今天越来越发现 学习一门编程语言,没有大量的code实践是不行的.看得快忘得更快.痛下决心,把primer的code习题一一实现. 习题2.11 底数和指数,求结果 #include <iost ...
- [Codeforces 8E] Beads
Brief Intro: 将所有n位二进制串中满足字典序不大于其逆序串,取反串,逆序取反串中按字典序排序的第m个输出 n<=50 Algorithm: 首次接触数位DP的题目 根据数据范围,我们 ...