一个简单的selenium实例(一)
1、selenium RC+Eclipse下载安装
java环境
官网下载地址http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,本例中用的java SE1.8,安装在了D盘java文件夹下,注意环境变量的配置:新建变量JAVA_HOME=D:\Java\jdk1.8.0_11,在变量path中添 加%JAVA_HOME%\bin;。
验证java是否安装成功:在cmd中输入java -version,若出现以下java版本信息,安装成功

Selenium RC+Junit+Eclipse
Eclipse 官网下载地址http://www.eclipse.org/downloads/,注意操作系统(windows)和系统位数(32/64)的选择。高一些 的版本现在都自带junit插件,当然也可以在http://junit.org/上自行下载。
selenium RC下载地址http://download.csdn.net/detail/fanxinyuan/2695339,解压后可以看到多种语言的client driver和一个selenium server(如下图所示),我们在后面选择java语言的client driver。

2、selenium rc+junit环境的搭建
打开eclipse,单击File-new-java project,新建一个名为script1的java项目,刚开始该项目只包含基本的src文件夹和jre system library,可以在src下另外建三个包(package):com.util,com.script1,com.data,分别用来存放公用方法,测试脚本,测试数据。此外,还要把selenium rc和junit加载到项目中:
对于junit,右击项目script1-build path-add library,弹出以下对话框,选择junit-next-junit4-finish。

对于selenium rc,右击script1-properties,出现以下对话框,java buid path(左列)-libraries(右侧选项卡)-add external jars,在弹出的对话框中分别选择selenium-java-client-driver.jar,selenium-server.jar,selenium-java-client-driver-sources.jar,结果如下图所示
(对于rc也可以直接将整个文件夹或者library什么的加入,只要起作用就行)


3、脚本
a、用selenium IDE录制的方式来生成一个例子
ide是firefox浏览器的一个插件,需要先安装firefox,然后在火狐浏览器中输入地址https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/或https://github.com/SeleniumHQ/selenium/wiki/SeIDEReleaseNotes下载安装selenium ide.
先打开selenium IDE,单击小红点打开脚本录制功能,然后在firefox中输入www.boobooke.com/,打开网站后再单击“论坛”。

录制界面如下:

单击文件-export test case as-java/junit4/Remote Control,命名为TestBoobooke.java。
b、在eclipse中使用脚本
将该文件复制粘贴到com.test中,会出现错误,此时应注意修改包名,在本例中改为package com.script1。
package com.script1; import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern; public class TestBoobooke {
private Selenium selenium; @Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.boobooke.com/");
selenium.start();
} @Test
public void testBoobooke() throws Exception {
selenium.open("/html/home.html");
selenium.click("link=杩涘叆璁哄潧");
selenium.waitForPageToLoad("30000");
} @After
public void tearDown() throws Exception {
selenium.stop();
}
}
可以看出文件出现了乱码(link=杩涘叆璁哄潧),这是因为selenium IDE编码方式为utf-8:

eclipse ide的编码方式为GBK:

选中other,在下列框中选中utf-8,此时link=进入论坛,乱码消失,并将文件中的“*chrome”改为“*iexploreproxy”.
c、启动selenium server
打开cmd,进入文件夹D:\搜狗高速下载\下载\selenium-remote-control-1.0.3\selenium-java-client-driver-1.0.1(必须先进入selenium-server.jar所在路径),输入java -jar selenium-server.jar,出现下列界面成功启动server:

最后右击项目script1-run as-JUnit Test,运行成功。

一个简单的selenium实例(一)的更多相关文章
- Java Tread多线程(0)一个简单的多线程实例
作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39341887 本文演示,一个简单的多线程实例,并简单分析一下线程. 编程多 ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...
- 使用JAVA实现的一个简单IOC注入实例
https://blog.csdn.net/echoshinian100/article/details/77977823 欲登高而望远,勿筑台于流沙 RSS订阅 原 使用JAVA实现的一个简单IOC ...
- Qt5.9一个简单的多线程实例(类QThread)(第一种方法)
Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...
- 从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别
最近在学struts2,struts2相比以前的JSP+Servlet,在处理流程上的更简单,我们就一个小实例来具体分析一下. 实例内容如下: 实现一个简单的注册页面包括:用户名.密码.重复密码.年龄 ...
- 一个简单的AJAX实例
创建一个简单的XMLHttpRequest,从一个TXT文件中返回数据. 来源于菜鸟教程 <!DOCTYPE html><html><head><meta c ...
- C#一个简单下载程序实例(可用于更新)
运行时的界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...
随机推荐
- angular directive restrict 的用法
E 表示该指令是一个element; A 表示该指令是attribute; C 表示该指令是class; M 表示该指令是注视 实例如下: 原帖:www.thinkster.io/angularjs/ ...
- Spring事务源码分析总结
Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程.注解.aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式 ...
- 聊一聊Spring AOP
前两天,在给新入职的同事做技术介绍时,讲到spring的AOP.使我又一次认识到,对于AOP,特别是spring AOP的理解,虽然大家都能说上来几句,但是许多人认识并不太全面,甚至可以说是一知半解- ...
- HDU5137-最短路-删点
How Many Maos Does the Guanxi Worth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/5 ...
- Valgrind查找内存泄露利器
Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析.你可以在它的环境中运行你的程序来监视内存的使用情况,比如C 语言中的ma ...
- IOS-项目中常见文件介绍
一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要用来放依赖的框架 3.test文件夹是 ...
- 那如何判断页面是在移动端还是PC端打开的
网上有很多方法,写的或难或简单,实际上一行代码就够了. window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navi ...
- 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf
转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq 结构体struct ifconf来获取网络接口的各种信息. ioctl 首先看 ...
- Linux:LAMP搭建DISCU!论坛
LAMP搭建DISCU!论坛 试验机为centos6.8 i686 应用的包 mysql-5.1.73-linux-i686-glibc23.tar.gz httpd-2.2.24.tar.bz2 p ...
- [Python] 比较两个数组的元素的异同
通过set()获取两个数组的交/并/差集: print set(a) & set(b) # 交集, 等价于set(a).intersection(set(b)) print set(a) | ...