2006-12-10

开源的Web应用程序自动测试软件 -- Selenium IDE

关键字: Selenium, Selenium IDE, Java, Web

Selenium针对不同的目标用户提供三种产品,它们分别是:
Selenium IDE
Selenium Core
Selenium Remote Client

本篇主要介绍的是Selenium IDE
http://www.openqa.org/selenium-ide/

Selenium IDE使用介绍的Demo(Video)
http://wiki.openqa.org/download/attachments/400/Selenium+IDE.swf?version=1

Selenium IDE下载地址(最新版本为0.8.6)
http://www.openqa.org/selenium-ide/download.action

Selenium IDE为可以集成在FireFox浏览器中插件,通过FireFox和IDE插件非常容易录制用户在Web页面上的操作过程,自动形成测试脚本,并允许保存和任意次数回放。自动录制的测试脚本的语法支持HTML,JAVA, C++等多种主流编程语言,并允许用户手动编辑和各种语言之间进行切换。

由于Selenium IDE集成在FireFox浏览器中,安装和卸载都非常简单方便。它支持测试脚本的录制和回放,能够重复运行和单步调试,体现出很好的所见即所得的特性。Selenium IDE降低了自动化测试的门框,可以让测试人员不关心网站具体实现技术的情况下,通过掌握简单的编程语言,也能够编写出测试用例。甚至普通的互联网用户通过Selenium IDE,能够自动在完成网站上的一些操作。比如通过Selenium IDE把登陆MSN Space,添加评论的过程录制下来,然后通过不停的回访来达到灌水的目的。

从使用上来说,Selenium IDE存在以下几点不足;

Selenium IDE仅仅支持运行单个测试用例,无法支持大批量的测试用例。从测试脚本开发和维护的角度出发,成熟网站的自动化测试脚本不应该都记录在单个文件中,这样不利于团队合作和重用。
Selenium IDE仅仅支持HTML格式的测试用例的回放和单步调试,不支持其它主流编程语言。
Selenium IDE仅仅提供FireFox的插件,无法在IE浏览器中录制和回放测试过程。而当今大部分网站都是基于IE进行开发的,对FireFox或者其它浏览器存在一定的兼容性,比如在IE浏览器上显示正常的界面在其它浏览器中显示出现问题。如果Selenium不能提供集成在IE中的插件或者录制和回放的软件工具,这在很大程度上限制Selenium IDE的适用范围,不利于Selenium能够被更多开发人员,甚至普通互联网用户的广泛使用。

总的来说,Selenium IDE降低了自动化测试工具的的使用门槛,非常普通互联网用户完成一些自动化的操作,也适合测试人员进行简单的测试和验证工作。一般不建议用作商业网站的自动化测试的工具。

最后是一个测试在google上输入selenium作为查询条件,验证查询结果存在文本OpenQA: Selenium的测试脚本例子,分别为HTML版本和Java版本


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">New Test</td></tr>
</thead><tbody>
<tr>
       <td>open</td>
       <td>/intl/zh-CN/</td>
       <td></td>
</tr>
<tr>
       <td>type</td>
       <td>q</td>
       <td>selenium</td>
</tr>
<tr>
       <td>clickAndWait</td>
       <td>btnG</td>
       <td></td>
</tr>
<tr>
       <td>verifyTextPresent</td>
       <td>OpenQA: Selenium
<br /></td>
       <td></td>
</tr>
</tbody></table>
</body>
</html>

package com.example.tests;

import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;

public class NewTest extends SeleneseTestCase {

       public void testNew() throws Exception {

              selenium.open("/intl/zh-CN/");
              selenium.type("q", "selenium");
              selenium.click("btnG");
              selenium.waitForPageToLoad("30000");
              verifyTrue(selenium.isTextPresent("OpenQA: Selenium"));
              checkForVerificationErrors();
       }
      
}

评论
发表评论

您还没有登录,请登录后发表评论

blogbin
搜索本博客
博客分类
最近加入圈子
最新评论
评论排行榜