Selenium webdriver 开始
最早接触的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 开始的更多相关文章
- Selenium WebDriver Code
Selenium WebDriver 用于模拟浏览器的功能,可以做网站测试用,也可以用来做crawler.我是用eclipse开发的,导入selenium-server-standalone-***. ...
- 使用httpclient 调用selenium webdriver
结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver ...
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...
- Selenium Webdriver java 积累一
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数 ...
- Selenium Webdriver下click失效问题解决
最近在使用Selenium Webdriver(Selenium2.0)进行界面自动化测试的时候发现单击事件无效,通过driver.findElement的方式是可以找到click元素的,但是就是cl ...
- 如何用selenium webdriver 捕获js error
### 问题 捕捉页面上js error ### 解决办法 从Selenium webdriver log 中解析 # -*- coding:utf8 -*- import unittest from ...
- Selenium WebDriver 之 PageObjects 模式 by Example
目录 1. 项目配置 2. 一个WebDriver简单例子 3. 使用Page Objects模式 4. 总结 5. Troubleshooting 6. 参考文档 本篇文章通过例子来阐述一下Sele ...
- Selenium webdriver 操作日历控件
一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如: 但是,有的日期控件是readonly的 比如1 ...
- Selenium WebDriver 处理cookie
在使用webdriver测试中,很多地方都使用登陆,cookie能够实现不必再次输入用户名密码进行登陆. 首先了解一下Java Cookie类的一些方法. 在jsp中处理cookie数据的常用方法: ...
随机推荐
- Android(java)学习笔记235:多媒体之计算机图形表示方式
1.多媒体 很多媒体:文字(TextView,简单不讲),图片,声音,视频等等. 2.图片 计算机如何表示图片的? (1)bmp 高质量保存 256色位图:图片中的每个像素点可以有256种颜 ...
- 解决zabbix图中出现中文乱码问题
我这周部署了zabbix监控服务器,但是配置过程中发现当有中文时,图中的中文会变成方块 如下图所示: 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 解决办法如下 1. ...
- ecshop首页调用指定商品分类下的商品品牌列表
转之--http://www.16css.com/ecshop/735.html 通过二次开发可以实现ECSHOP首页调用指定分类下的品牌列表. 第一步: 打开根目录下的index.php 在最后面 ...
- NPOI对excel文件的导入导出
现理解:将一个Excel文件(工作簿-IWorkBook)看做是一个你要操作的对象,每个工作簿包含多个工作表(ISheet)对象,每个工作表中又包含多个行对象(IRow),每行又包含多个单元格(ICe ...
- 第10章 PHP异常处理
1. 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被执行. 既然抛出异常会中断程序执行,那么 ...
- KNN(k-nearest-neighbor)算法
一.算法概述 该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别.KNN算法中, 所选择的邻居都是已经正确分类的对象(训练 ...
- 【HAOI2011】向量
[题目描述] 给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问你能不能拼出另一个 ...
- 关于highcharts(功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库)
官网http://www.hcharts.cn/ 引入下列文件 <script type="text/javascript" src="http://cdn.hch ...
- Extjs嵌入html
方式一:使用组件的html属性嵌入html代码,如果html代码中存在参数可以使用字符串拼接的方式拼接html代码. html页面: <!doctype html> <html> ...
- js 超级玛丽(未完成)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...