`

Java Selenium【转】

 
阅读更多

本文转自 http://www.automationqa.com/tools/selenium/338-java-selenium.html

 

1. 环境准备

1.1 Java环境

安装jdk,我的JDK在/usr/local/jdk1.6.0_24

1.2 Java IDE

因为Selenium支持Java/C#/Ruby/Python等,这里我选择使用Java。到Eclipse官方网站下载最新的Eclipse,免安装,解压即可

1.3 Selenium

到Selenium官方网站http://seleniumhq.org/download/下载Selenium IDE,Selenium Server, Selenium Client Driver(这里只选了Java版)

其中,

Selenium IDE需要安装,目前只有Firefox浏览器支持,安装完成后,即作为Firefox的插件,点击Tools-Selenium IDE就可以开始录制脚本了

Selenium Server下载下来是一个jar包,我放在了/usr/local/下,在Eclipse中写test时,需要添加这个包

Selenium Client Driver下载下来是一个zip包,用unzip selenium-java-2.8.0.zip 将其解压到/usr/local/下,在解压的路径里有/usr/local/selenium-2.8.0/selenium-java-2.8.0.jar包,在Eclipse中写test时,需要添加这个包

以上三个下载的东东之间的关系是:

Selenium IDE可以录制脚本,执行脚本,修改脚本,将录制的脚本导出成其他语言(比如Java);

Selenium Server是和Selenium Client结合使用的,Server用来启动浏览器,接受Client端的请求,执行test;

Client端则是向Server端发送请求。

2. 录制脚本

2.1 打开Firefox,点击Tools-Selenium IDE(默认是启动录制状态)

2.2 在Firefox中的地址栏输入www.google.com,回车,打开google首页面

2.3 在搜索框输入Selenium, 点击Google搜索,进入结果页面

2.4 在结果页面选择Selenium,右击,在快捷菜单中出现 verifyTextPresent Selenium并点击该条目

2.5 点击结果页面中第一个超链接

2.6 停止录制

3. 导出成Java Junit4 (remote control)

在Selenium IDE中点击File-Export Test Cases As...,选择Junit4(Remote Control),并保存

此外,我们可以使用Options-Format功能,直接显示成Java脚本。但是对于新版Selenium,这个是默认禁用的,只需要启动Format即可:

To turn it on, go to options->options and select 'enable experimental features'

参考http://seleniumcn.cn/read.php?tid=1849&page=e , it says "Format option has been turned OFF in the latest release. As per the release notes, Format changing is now marked as experimental due to possible issues, you can turn it on from the options dialog."

4. 在Eclipse中编辑并运行

4.1 新建一个Java project: File-New-Java Project,输入Project Name(JunitTest),其他的可以默认,当然也可以修改使用哪个JRE

4.2 在这个Project中新建一个Junit文件,自动会导入Junit包

4.3 添加Selenium包

4.3.1

右击左侧Package的空白区域,点击Build Path-Add External Archives...,将下载/解压到usr/local下的selenium-java-2.8.0.jar(client)和selenium-server-standalone-2.8.0.jar(server)加进来

4.3.2 在新建的Junit文件里引入这两个包

import org.openqa.selenium.server.SeleniumServer;      //server
import com.thoughtworks.selenium.*;                              //client

4.4 将在3中导出的代码选择性的拷贝到新建的Junit文件里,并进行适当的修改

4.5 运行case

4.5.1 启动Selenium server

(1) 启动方式可以用命令行形式 java -jar selenium-server-standalone-2.8.0.jar (注意java是否配置环境变量以及jar包路径)

在我的系统里可以这样运行/usr/local/jdk1.6.0_24/bin/java -jar /usr/local/selenium-server-standalone-2.8.0.jar

(2) 可以在testcase里调用

static SeleniumServer server ;
    /**
     * @throws java.lang.Exception
     */
    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.print("setupBeforeClass\n");    
        server = new SeleniumServer();
        server.start(); 
    }

@AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.print("tearDownAfterClass\n");
        server.stop();
    }

4.5.2 可能问题

如果case中需要打开新窗口,由于firefox禁止弹出,我们可以对Firefox的设置做下修改: Edit-Preferences-Content 将Block pop-up windows 前面的勾去掉


5 参考

http://seleniumhq.org/docs/02_selenium_ide.html

http://selenium.googlecode.com/svn/trunk/docs/api/java/index.html

http://www.51testing.com/?uid-146979-action-viewspace-itemid-242645

http://www.cnblogs.com/wuchaodong/archive/2009/02/16/1391306.html

http://zhidao.baidu.com/question/269941148.html

http://seleniumcn.cn/read.php?tid=1849&page=e

分享到:
评论
1 楼 zlotus 2012-11-09  
学习了

相关推荐

    selenium-java-4.0.0-alpha-6_javaselenium_

    标题 "selenium-java-4.0.0-alpha-6_javaselenium_" 指的是 Selenium 的一个 Java 版本的软件包,具体是 4.0.0 的第六个 Alpha 版本。Selenium 是一个广泛使用的自动化测试工具,主要用于 web 应用程序的测试。它...

    java+selenium(房天下 链家小区 多线程+代理实现)

    在本项目中,我们主要探讨的是如何利用Java和Selenium库来实现对“房天下”和“链家”两个房地产网站的小区数据爬取。这个项目结合了多线程和代理IP的技术,以提高爬虫的效率和规避可能的反爬策略。下面将详细介绍这...

    java+selenium实现自动化打开页面的方法

    package javaSelenium_Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class ...

    java使用Selenium模拟登陆58(验证码登陆&密码登陆)若快平台识别文字点击验证码Demo

    Java 使用 Selenium 模拟登录58同城的流程涉及到了多个技术点,包括自动化测试框架Selenium的使用、验证码识别以及密码登录的实现。下面将详细解释这些知识点。 1. **Selenium**: Selenium 是一个用于 Web 应用程序...

    JAVA Selenium 自动测试

    `JAVA Selenium 自动测试` 是一种广泛使用的Web应用程序自动化测试技术,它允许开发者使用Java编程语言来控制浏览器,模拟用户的各种交互行为,如点击、输入、导航等,以此来验证应用的功能正确性和性能稳定性。...

    Java+Selenium资源文件

    Java+Selenium资源文件是用于实现Web自动化测试的重要工具集合,主要涵盖了Selenium IDE与Java的集成,以及多种编程语言的格式支持。Selenium是一个广泛使用的开源自动化测试框架,它允许开发者编写脚本来模拟用户在...

    selenium-java.jar

    `selenium-java.jar` 是一个与 Selenium 相关的 Java 库文件,它包含了用于在 Windows 和 Mac 操作系统上执行自动化测试的组件。Selenium 是一款广泛使用的开源工具,主要用于 web 浏览器自动化,帮助开发者和测试...

    java Selenium Web自动化例子

    java Selenium Web自动化例子小例子,自动启动火狐浏览器执行自动化例子,环境需要自己搭建,代码简单易懂

    java+selenium+maven+testng自动化测试框架实例(实际项目)

    java+selenium+maven+testng自动化测试框架实例(实际项目) java+selenium+maven+testng自动化测试框架实例(实际项目) java+selenium+maven+testng自动化测试框架实例(实际项目)

    selenium+JAVA+chrome自动化测试demo

    【标题】"selenium+JAVA+chrome自动化测试demo"揭示了这个项目是关于使用Selenium WebDriver结合Java语言来实现Chrome浏览器的自动化测试。Selenium是一个强大的开源自动化测试框架,允许开发者编写可运行在多种...

    java selenium 2.53包

    都包含了,记得给个好评 selenium-server-standalone-2.53.0.jar IEDriverServer_Win32_2.53.0.zip IEDriverServer_x64_2.53.0.zip selenium-dotnet-2.53.0.zip selenium-java-2.53.0.zip selenium-server-2.53.0.zi

    selenium-java 3.7.1.jar

    【Selenium-Java 3.7.1.jar】是一个关键组件,主要用于自动化Web应用程序的测试。这个特定的版本,3.7.1,是Selenium WebDriver的一个Java绑定,它允许开发者使用Java语言来编写测试脚本,从而实现对浏览器的自动化...

    selenium+java实例,简单操作录制

    selenium+java实例,简单操作录制

    java+selenium+testng参数化打开百度搜索

    Java+Selenium+TestNG 参数化打开百度搜索 在自动化测试中,使用 Java+Selenium+TestNG 框架可以实现参数化打开百度搜索的功能。在本篇教程中,我们将详细介绍如何使用 Xml 配置文件和 Java 代码来实现参数化测试。...

    Java selenium latest with doc

    最新版本的java+selenium开发环境所需的开发包, 以及java-doc的共享资源链接. selenium-java-3.11.0 /selenium-server-standalone-3.11.0/

    Java:Selenium2+Java自动化测试实战.docx

    Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试...

    selenium-java 3.4

    包含selenium-server-standalone-3.4.0.jar,geckodriver.exe(64&32;),IEDriverServer.exe(64&32;),selenium-java-3.4.0,chromedriver_win32。兼容firefox54版本

    selenium及依赖jar包(java)

    【Selenium及依赖jar包(Java)】是一个用于自动化浏览器操作的开源工具,它在Java环境中广泛使用。Selenium的核心功能在于模拟用户的行为,比如点击、输入、滚动、选择等,使得开发者能够对Web应用程序进行自动化...

Global site tag (gtag.js) - Google Analytics