使用Selenium进行验收测试

发表于:2009-07-29来源:作者:点击数: 标签:seleniumSelenium验收测试验收
使用Selenium进行验收测试 验收测试 Selenium是ThoughtWorks公司 开发 的一套基于WEB应用的验收 测试工具 ,直接运行在浏览器中,模拟客户操作。 Selenium抽象出一系列命令来模块用户操作,比如open命令表示打开一个URL,click命令表示点击某个按钮。Selenium

        使用Selenium进行验收测试 验收测试

         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;     [Page]
   
   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();    
    }    
        
}    

结语
        此篇文章只是简单的记录了个人在研究Selenium的一个QuickStart的过程,供自己和同事以后参考。如果明白了Selenium的使用机制,具体的使用是非常简单的,当然要达到自动化测试的目的,必须要求在ANT构建脚本中启动Selenium服务器,这在花钱的年华的博客中有描述,SpringSide就是一个很好的借鉴。

 

原文转自:http://www.ltesting.net