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实例(一)的更多相关文章

  1. Java Tread多线程(0)一个简单的多线程实例

    作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39341887 本文演示,一个简单的多线程实例,并简单分析一下线程. 编程多 ...

  2. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)

    使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...

  3. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)

    这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...

  4. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  5. 使用JAVA实现的一个简单IOC注入实例

    https://blog.csdn.net/echoshinian100/article/details/77977823 欲登高而望远,勿筑台于流沙 RSS订阅 原 使用JAVA实现的一个简单IOC ...

  6. Qt5.9一个简单的多线程实例(类QThread)(第一种方法)

    Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...

  7. 从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别

    最近在学struts2,struts2相比以前的JSP+Servlet,在处理流程上的更简单,我们就一个小实例来具体分析一下. 实例内容如下: 实现一个简单的注册页面包括:用户名.密码.重复密码.年龄 ...

  8. 一个简单的AJAX实例

    创建一个简单的XMLHttpRequest,从一个TXT文件中返回数据. 来源于菜鸟教程 <!DOCTYPE html><html><head><meta c ...

  9. C#一个简单下载程序实例(可用于更新)

    运行时的界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...

随机推荐

  1. python脚本10_打印斐波那契数列的第101项

    #打印斐波那契数列的第101项 a = 1 b = 1 for count in range(99): a,b = b,a+b else: print(b) 方法2: #打印斐波那契数列的第101项 ...

  2. 项目使用文档管理:MediaWiki安装及使用入门

    MediaWiki是著名的开源wiki引擎,全球最大的wiki项目维基百科(百科词条协作系统)是使用MediaWiki的成功范例,MediaWiki的最大作用在于对知识的归档,可用于构建企业/个人知识 ...

  3. IOS-github优秀开源项目大全

    github优秀开源项目大全-iOS 前言 本文旨在搜集github上优秀的开源项目 本文搜集的项目都是用于iOS开发 本文会持续更新… 完整客户端 ioctocat github的iOS客户端,目前 ...

  4. 破解google翻译API全过程

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/6554340.html 前言 google的翻译不得不承认它 ...

  5. eureka -1 - 介绍

    eureka ,服务发现注册中心 eureka 包含server, client两部分. eureka server,服务发现组件,各个微服务启动的时候会向server注册自己的信息(ip,hostn ...

  6. LeetCode OJ:Min Stack(最小栈问题)

    Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...

  7. js中Function的apply方法与call方法理解

    最近在使用jQuery的$.each方法时很,突然想到$.each($('div'),function(index,entity){});中的这个index和entity是哪冒出来的,而且可有可无的, ...

  8. 关于TCP/IP协议

    TCP的特点: TCP是面向连接的传输层协议 TCP的传输是可靠传输 TCP是全双工的通信 TCP的连接是点对点的传输 TCP和UDP的区别 tcp是面向连接的,两台主机的通信之前必须通过三次握手建立 ...

  9. Linux服务器静态路由配置

    转载自:点击打开链接 静态路由是在路由器中设置的固定的路由表.除非网络管理员干预,否则静态路由不会发生变化.由于静态路由不能对网络的改变作出反映,一般用于网络规模不大.拓扑结构固定的网络中.静态路由的 ...

  10. 手机微信网站开发放弃windows phone的理由

    1.手机操作系统市场份额: 全球(2.44% 下滑): http://news.mydrivers.com/1/449/449736.htm 中国(1% 下滑): http://app.techweb ...