首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Selenium RC 测试 web 应用程序(2)

使用 Selenium RC 测试 web 应用程序(2)

编写第一个测试要快速编写一些测试以用作您的自动化测试的基础,可以从 Selenium IDE 入手。Selenium IDE 是一个允许录制测试的 Firefox 插件。然后,您可以导出这些已录制的测试,以便给它们添加一些 “装饰” — 条件、迭代等。               
要开始使用 Selenium IDE,首先需要从  中的链接下载它。通过单击该链接将其安装为一个 Firefox 插件。Firefox 将提示您安装这个插件,然后重新启动浏览器,以便更改生效。               
安装这个插件后,启动您的服务器,以便开始使用您的 web 应用程序。在 Firefox 中单击 Tools > Selenium IDE,打开 Selenium IDE。Selenium IDE 打开后,单击 Record。Selenium 开始录制后,它将记住您在浏览器中执行的所有动作。要登录您的样例应用程序,执行以下步骤:               
  • Selenium IDE 录制的同时,导航到 index.jsp web 页面。
  • 输入您的用户名。
  • Password 框中输入有效密码。
  • 单击 Login
成功登录后,您的 web 应用程序将转到 enterInfo.jsp 页面。此时,您的测试中有一些动作,但目前为止,无法验证您的动作是否有效。Selenium 需要知道应该寻找的内容,以便知道您的 enterInfo.jsp 页面正在按预期的方式呈现。               
您可以添加一些验证动作,以确保您的应用程序正在显示正确的内容。当 Selenium 在录制时,执行以下步骤:               
  • 右键单击一个 HTML 元素,比如 Your name 标签,然后单击 verifyTextPresent Your name:
  • 对 Your birth date 标签重复步骤 1。
  • 单击 Record 停止录制。
如果您想查看您的测试的运行情况,单击 Run All(参见图 1)。测试将执行并通过。               
图 1. 单击 Run All要查看 Selenium IDE 是否真的在测试您的应用程序,转到您的 IDE 并更改有效的用户名的值。重新部署您的应用程序,然后再次单击 Run All。这次,您的测试将失败,因为 web 应用程序没有显示带有正确标签的 enterInfo.jsp 页面。               
将您的测试导出到 JUnit现在您已经录制了您的第一个测试,现在可以导出它以便在 JUnit 中使用。在 Selenium IDE 中突出显示您的测试,单击 File > Export                                 Test Case As > Java (JUnit) - Selenium RC。键入您的测试的名称(例如,IndexTests.java),将它保存到一个位置,记住该位置,以便稍后将其导入 Eclipse。                       
执行以下步骤:
  • 创建一个新的 Java 项目,该项目包含一些使用 JUnit 构建的 Java 单元测试。
  • 下载 Selenium RC 二进制文件(参见  中的链接)。保存这个存档文件,以便稍后将其中的文件在 Eclipse 中导入您的新 Java 项目。
  • 在您的 Java 项目中创建一个名为 lib 的新文件夹。
  • 单击 File > Import,然后单击列表中的 File System。 单击 Next
  • 浏览到您刚才解压 Selenium RC 文件的位置,选择 selenium-java-client-driver-1.0.1 目录。
  • 从列表中选择 selenium-java-client-driver.jar,单击 OK 将 Selenium Java 客户端驱动程序 JAR 文件导入您的项目的 lib 目录。
  • 将您从 Selenium IDE 导出的 Java 文件导入您的新 Java 项目的 src 目录。
您将注意到的第一件事是:您将得到许多编译错误。首先,您的新 Java 文件也许不在正确的包中,因为它直接位于 src 文件夹中。其次,JUnit 或 Selenium 类无法找到。幸运的是,这些错误可以使用 Eclipse 轻松解决。                       
在 Eclipse 中解决错误要解决包错误,单击该错误,然后按下 Ctrl-1 打开提示。选择 Move MyTest.java to package 'com.example.mywebapp.tests'。Eclipse 将为您创建包结构并移动文件。                       
添加 JUnit 测试现在我们来添加 Selenium 和 JUnit 测试,在 Package                                 Explorer 单击 Java 项目,然后在 Libraries 选项卡上单击 Build Path > Configure Build Path,单击 Add JARs,选择 selenium-java-client-driver.jar 文件。单击 OK。                       
当 Java 源文件被编译时,它应该如清单 3 所示。
清单 3. 基于从 Selenium IDE 导出的代码的 JUnit 测试       
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.example.mywebapp.tests;

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

import org.junit.BeforeClass;
import org.junit.Test;

public class MyTest extends SeleneseTestCase {
     
    @BeforeClass
    public void setUp() throws Exception {
        setUp("http://localhost:8080/tested-webapp/index.jsp", "*chrome");
    }
     
    @Test
    public void testMy() throws Exception {
        selenium.open("/tested-webapp/index.jsp");
        selenium.type("username", "user");
        selenium.type("password", "secret");
        selenium.click("//input[@value='Login']");
        selenium.waitForPageToLoad("30000");
        verifyTrue(selenium.isTextPresent("Your name:"));
        verifyTrue(selenium.isTextPresent("Your birth date (in MM/DD/YYYY format):"));
    }
}




如果有一些限制阻止您使用 Firefox,无法下载和安装 Selenium IDE,您仍然可以编写使用 Selenium RC 运行的测试。尽管使用这里展示的示例作为一个开端并使用   中提供的 Selenium 文档。
返回列表