Selenium是ThoughtWorks公司开发的一套基于WEB应用的验收测试工具,直接运行在浏览器中,模拟客户操作。
Selenium抽象出一系列命令来模块用户操作,比如open命令表示打开一个URL,click命令表示点击某个按钮。Selenium实际上将这些命令转化成实际的HTTP请求在浏览器中运行。
具体支持哪些命令可以参见SpringSide的翻译。
Selenium IDE
Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供以后使用。
安装Selenium IDE的步骤如下:
从www.openqa.org/selenium-ide/download.action下载Selenimu IDE(这是一个XPI后缀的文件)。
启动FIREFOX浏览器,打开刚才下载的文件。
重启FIREFOX浏览器,在工具菜条下应该就可以看到Selenium IDE菜单项
Selenium RC
Selenium Remote Control是一个测试工具,允许使用任何语言编写自动化的WEB UI测试用例。这个工具提供一个Selenium Server可以启动,停止和控制任何浏览器,这个服务器使用AJAX直接和浏览器进行交互,可以使用HTTP GET/POST请求向Selenium Server发送命令。这意味着可以使用任何编程语言向Selenium Server发送HTTP请求来自动化Selenium测试。为了简化这个过程Selenium提供各主流语言的包装对象,对于JAVA来说,是DefaultSelenium类。
虽然Selenium提供简单的基于HTML TABLE的方式编写测试,考虑到开发人员对JAVA代码更熟悉一些,而且通过代码编写的测试,很容易通过ANT脚本和单元测试一起自动运行。下面的过程讲述如何使用JAVA编写Selenium测试。
下载
从www.openqa.org/selenium-rc/download.action下载Selenium RC相关文件,假定解压缩后的目录为HOME
启动服务器
Selenium Server是用JAVA实现的,相应的库文件在HOME/server/selenium-server.jar。运行如下代码从命令行启动:
java 代码
java -jar selunium-server.jar
命令行中也可以提供一些选项设置,具体的选项设置参见www.openqa.org/selenium-rc/options.html。如果要进行自动化测试,可以在ANT脚本中启动。
编写测试用例
要编写Selenium测试用例,首先必须交HOME/java/selenium-java-client-driver.jar文件加载到类路径中。然后编写一个JUNIT的单元测试,要构建一个Selenium,包括如下步骤:
构建一个Selenium实例
启动Selenium实例
执行Selenium命令,并验证结果。要执行一个命令是通过调用Selenium实例的方法来完成的,具体有哪些命令可以参见JAVADOC
关闭Selenium实例
如下是一个示例,用来测试www.google.com,查找selenium,期望结果中包含"OpenQA: Selenium"。
java 代码
package com.thoughtworks.selenium;
import junit.framework.*;
import org.openqa.selenium.server.*;
public class GoogleTest extends TestCase
{
private Selenium selenium;
public void setUp() throws Exception {
String url = "http://www.google.com";
selenium = new DefaultSelenium("localhost", SeleniumServer.getDefaultPort(), "*firefox", url);
selenium.start();
}
protected void tearDown() throws Exception {
selenium.stop();
}
public void testGoogleTestSearch() throws Throwable {
selenium.open("/intl/zh-CN/");
selenium.type("q", "selenium");
selenium.click("btnG");
selenium.waitForPageToLoad("30000");
assertTrue(selenium.isTextPresent("OpenQA: Selenium"));
checkForVerificationErrors();
}
}
分享到:
相关推荐
1.seleRrj是工程包,包含简单的自动化测试demo以及jar包,已经加入junit4支持;调试运行通过; 2.selenium-fireFox插件,安装在火狐浏览器里面 用于录制自动化脚本和学习自动化测试; 3.我用的火狐版本是v21.0版本,...
本文旨在探讨如何利用Selenium、JUnit和Hudson构建一个自动化测试框架。Selenium是一款强大的开源Web功能测试工具,支持多种编程语言,如Ruby、Python、Java、Perl和C#。它能直接在浏览器中运行测试,模拟真实用户的...
该项目是一个基于Java和Selenium的JUnit自动化测试代码设计源码,总计包含22个文件,其中包括12个XML配置文件、6个Java源代码文件、1个Git忽略文件和1个CSV文件。该代码主要面向Selenium和JUnit的学习与练习,适用于...
Selenium WebDriver是Selenium的主要接口,它通过与浏览器的原生控制接口交互来实现自动化测试。WebDriver支持多种浏览器,包括Chrome、Firefox、IE和Edge等,使得测试脚本可以在不同环境下运行,从而提高测试覆盖率...
在搭建 Selenium 终极自动化测试环境时,需要安装 JDK、Eclipse、Junit、TestNG 和 Python 等软件。其中,JDK 是 Java 开发工具包,Eclipse 是一个集成开发环境,Junit 和 TestNG 是测试框架,Python 是一种流行的...
**Selenium**: Selenium是一个开源的Web应用程序自动化测试框架,它允许测试人员通过编程方式模拟用户与浏览器的交互。Selenium支持多种浏览器和编程语言,包括Java。在这个实例项目中,Selenium WebDriver将被用来...
在 Eclipse 中,需要创建一个新的 Java 项目,添加 Junit 和 Selenium 相关的依赖项,然后编写测试用例来执行自动化测试。 Selenium 终极自动化测试环境搭建需要完成以上七个步骤,包括安装 JDK、下载 Eclipse 和 ...
3. **Selenium与Java集成**:学习如何使用Java的Junit或TestNG库创建测试套件,编写测试用例,并通过Selenium WebDriver执行自动化测试。 4. **Selenium与Python集成**:熟悉Python的selenium模块,了解如何创建...
《Selenium2 Java自动化测试实战》是一本深入探讨如何利用Selenium2与Java技术进行Web应用自动化测试的专业书籍。本书旨在帮助读者掌握Selenium2的核心概念、API以及最佳实践,以便在实际项目中高效地执行自动化测试...
《Selenium2 Python 自动化测试实战》是一本专注于利用Selenium2库进行Web应用程序自动化测试的专业书籍。书中深入浅出地介绍了如何使用Python语言来编写自动化测试脚本,以提高测试效率和质量。Selenium2是Selenium...
这包括比较Selenium与传统工具如QTP的差异,了解Selenium与其他开源自动化测试工具(如Appium、JMeter)的优缺点,以及如何规划和实施自动化测试项目。 ### Selenium自动化测试基础 - **Selenium IDE**:这是一个...
本书以testng、httpclient和selenium.appium为技术核心,详细介绍了如何进行端到端的自动化测试。下面将分别阐述这些工具在自动化测试中的作用及其相关知识点。 TestNG是一款强大的测试框架,它继承了JUnit的优点并...
《零成本实现Web自动化测试-基于Selenium和Bromine》是温素剑撰写的一本技术书籍,专注于介绍如何在不产生额外费用的情况下,利用开源工具进行高效的Web自动化测试。书中的内容涵盖了一系列与Web自动化测试相关的...
Selenium是一款强大的Web应用程序自动化测试工具,它支持多种编程语言,如Java、Python、C#等,使得测试人员和开发人员能够对网页进行自动化控制,从而实现高效且精确的测试。Selenium的核心理念是模拟真实用户的...
总的来说,《Selenium2 Java自动化测试实战》是一本全面的教程,旨在帮助读者掌握Selenium 2与Java的结合,提升自动化测试能力,从而在Web应用开发和维护中提高效率和质量。通过阅读这本书,读者不仅可以理解...
总结来说,Selenium 是一个强大的自动化测试框架,结合 Java,可以实现高效、可靠的 Web 应用程序测试。通过深入理解和应用这些概念,开发者能够构建出一套完善的自动化测试方案,提升软件质量,减少手动测试的工作...