65.9K
CodeProject 正在变化。 阅读更多。
Home

WebReplay - Web 应用程序的自动化软件测试工具

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.41/5 (7投票s)

2005年6月16日

2分钟阅读

viewsIcon

193042

downloadIcon

2060

本文介绍了一种基于 Internet Explorer 的 Web 应用程序(Internet/Intranet)的自动化软件测试工具。

Click to enlarge

引言

Web Replay 是一个Web 应用程序的自动化软件测试工具。 它通过重放场景来测试应用程序,从而帮助检测 Web 应用程序中的错误和回归。

使用 WebReplay,您可以自动导航到网页,填写表单字段,单击提交(确定)按钮,然后继续到另一个网页。

要使用 Web Replay,请构建 XML 场景文件(见下文),在编辑框中键入文件名,然后单击 Replay 按钮。

背景(可选)

Web Replay 基于 Microsoft 的 WebBrowser 控件 (Microsoft® ActiveX® 控件)。 它将控件嵌入到一个非常简单的基于对话框的应用程序中,该应用程序加载一个 XML 场景文件,并以编程方式驱动 WebBrowser 控件(通过其 COM 接口 IWebBrowser2)来执行该场景。

使用代码

Web Replay 提供以下功能

  • 从 XML 文件重放场景。
  • 支持 Microsoft Internet Explorer 支持的每项功能(包括 Windows 集成身份验证)。
  • 支持 HTML 表单、HTML 输入元素、HTML 超链接(锚点)。
  • 支持 HTML 元素的两个操作:set_valueclick
    • set_value 模拟 HTML 元素值的更改(input, select, 等等...)。
    • click 模拟在 HTML 元素上的鼠标单击(任何元素)。
  • 支持未命名的 HTML 元素:可以使用与其关联的值和/或 innerText 和/或 Href 找到元素。
  • 存储并重新加载上次使用的场景文件名(它使用一个很好的旧的WebReplay.ini 文件)。
  • 支持动态生成的网站(客户端):如果您的网站在浏览器中生成 HTML(使用 JavaScript 命令,如“document.write”),Web Replay 仍然可以回放给定的场景 - 它使用超时机制来查找动态生成的控件。

示例 XML 场景

XML 场景文件如下所示

<?xml version="1.0" encoding="Windows-1252"?>
<web_replay>
  <scenario>
    <!-- Search something in codeproject -->
    <!-- Scenarios are divided into steps (one step per page download) -->
    <step>
      <!-- Every step can contain one or more actions -->
      <!-- Action can be of type "navigate" = 
             Web Replay will navigate to the given URL -->
      <action type="navigate" url="https://codeproject.org.cn" />
    </step>
    <step>
      <!-- Action can be of type "control" = 
             Web Replay will interact with an HTML element -->
      <action type="control" 
             name="target" event="set_value" value="WebReplay" />
      <!-- This field is unnamed; but it has a specific value attribute -->
      <action type="control" name="" value="Go" event="click" />
    </step>
  </scenario>
</web_replay>

要构建场景文件,您基本上需要知道 Web 应用程序中 HTML 元素的名称(或 ID)。 或者,您可以使用空名称并使用 HTML 元素的值(对于未命名的项目)。

关注点

你如何测试代码? 好吧,只需编写一个测试程序! Web Replay 通过提供一种简单的测试 Web 应用程序的方法来帮助您。 但它仍然是一个全新的程序; TODO 列表很长...

Web Replay TODO 列表

  • 多次播放场景(甚至无限循环以压力测试您的 Web 应用程序)。
  • 在场景文件中使用变量/表达式(以重放总是不同的场景)。
  • 批量回放场景文件。
  • 增强的错误检测(例如,如果在 HTML 页面中未找到给定的 HTML 模式,则场景应该失败)。
  • 自动记录场景文件(为 IWebBrowser2 实现一个事件接收器,并记录 HTML 元素名称/id 和关联的事件)。

历史

V1.0 - $Date: 2005-06-16 11:50:08 +0200 (Thu, 16 Jun 2005) $

© . All rights reserved.