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之NumPy中线性代数

    参考博客:http://blog.csdn.net/u013930163/article/details/51839983 网站:https://docs.scipy.org/doc/numpy-de ...

  2. JS返回一个数据的千分位格式

    /** * 价钱转换-从右往左每3位数字加一个逗号 * @param price 需要转换的价格 */ formatPrice(price){ var newPrice = price.split(' ...

  3. STL学习笔记(转,还是比较全的)

    STL简介 1 概况 2 1.1 STL是什么 2 1.2 为什么我们需要学习STL 2 1.3 初识STL 2 1.4 STL 的组成 5 2 容器 6 2.1 基本容器——向量(vector) 6 ...

  4. 缓存LruCache简单创建和使用

    LruCache一般使用: /** * 总容量为当前进程的1/8,单位:KB * sizeOf():计算缓存对象的大小,单位要一致 * entryRemoved():移除旧缓存时调用 */ int m ...

  5. Qt出现QObject::connect: Cannot queue arguments of type '******'的解决方法

    一般出现这种情况都是自定义的类型进行型号槽连接的时候出现的,使用 假设自定义的类型是MyClass 使用qRegisterMetaType<MyClass>("MyClass&q ...

  6. DRF中两大视图基类APIView/GenericAPIView的介绍

    (1)APIView rest_framework.views.APIView APIView是REST framework提供的所有视图的基类,继承自Django的View父类. APIView与V ...

  7. shell脚本实例二

    练习题一:对已经存在的用户做密码的修改等操作 vim  user_ctrl.sh                 ##进行如下编写 #!/bin/bashShow(){        read -p ...

  8. 【dlbook】正则化

    对学习算法的修改——旨在减少泛化误差而不是训练误差 显著减少方差而不过度增加偏差. [参数范数惩罚] 通常只对权重做惩罚而不对偏置做惩罚,原因是拟合偏置比拟合权重容易很多. 不同层使用不同惩罚的代价很 ...

  9. Xcode Server (Xcode9)搭建CI

    Xcode 9将Xcode Server集成进来了,这是Xcode一个新特性,不用去单独下载server了,server可以用来做CI.自动化Test等等.这里主要介绍搭建CI,相当简单 打开开关,新 ...

  10. DHL学习--<asp:literal

    <asp:literal  ID="ltlJS" runat="server"></asp:literal> 标签的Text属性可以放J ...