一个简单的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 ...
随机推荐
- ffmpeg nvenc编码
花时间研究了一些ffmpeg的nvenc,本来想我已经有了cuvid,然后又搞出来了nvenc,应该可以做个全套的英伟达的转码了,没想到ffmpeg官网下载的动态库没有cuvid,windows上编译 ...
- 牛客-https://www.nowcoder.com/acm/contest/96/H
链接:https://www.nowcoder.com/acm/contest/96/H来源:牛客网 题目描述 今天qwb要参加一个数学考试,这套试卷一共有n道题,每道题qwb能获得的分数为ai,qw ...
- 使用Easy4net编写代码生成器
在项目中经常要手动创建和数据库对应的实体类,如果数据库表比较多或者表字段比较多,那会是一个工作量非常大的事情,所以我根据自己的需求写了一个简单的代码生成工具,工具使用Easy4net框架开发. 下面是 ...
- (2) iOS开发之UI处理-UILabel篇
我们经常要根据内容去动态计算控件的高度,比如一个UILabel控件,常常要显示多行内容,并且计算出总高度,如果每个UILabel要多行显示,都要写这么一段代码是非常痛苦的,看代码如下: 我想大 ...
- Dir命令
注: 此系列为自己之前所搭建网站内容. 其实python的os模块能够很好的完成此任务.改天总结下. 之前在处理气象数据时,十几个文件,文件名比较长,需要自己处理变动的年份找出地址的规律再进行文件的读 ...
- socketserver源码简介
一.socketserver流程简介 +------------+ | BaseServer | +------------+ | v +-----------+ +----------------- ...
- 在创建一个MVC控制器,显示运行所选代码生成器时出错(带读写,使用EF)
在创建一个MVC控制器,在Controllers文件夹选择添加->控制器,如下图: 显示运行所选代码生成器时出错 解决方法: 第一步:Install-Package Microsoft.aspn ...
- Falsk项目cookie中的 csrf_token 和表单中的 csrf_token实现
Flask中请求体的请求开启CSRF保护可以按以下配置 from flask_wtf.csrf import CSRFProtect app.config.from_object(Config) CS ...
- NAT&Port Forwarding&Port Triggering
NAT Nat,网络地址转换协议.主要功能是实现局域网内的本地主机与外网通信. 在连接外网时,内部Ip地址需要转换为网关(一般为路由器Ip地址)(端口号也需要相应的转换) 如: ...
- vue.js 源代码学习笔记 ----- instance init
/* @flow */ import config from '../config' import { initProxy } from './proxy' import { initState } ...