基于JUnit的InstallAnywhere安装程序图形界面自动测试框架 - 编程入门网
基于JUnit的InstallAnywhere安装程序图形界面自动测试框架时间:2011-07-01 IBM / 孙岩 杨留君 潘章晟JUnit 简介 JUnit 是一个开源的单元测试框架,用于编写和运行自动测试,由 Erich Gamma 和 Kent Beck 在 1997 年开发完成。它包括以下特性: 提供的 API 可以让你写出测试结果明确的可重用单元测试用例; 提供了三种方式来显示你的测试结果,而且还可以扩展; 提供了单元测试用例成批运行的功能; 超轻量级而且使用简单,没有商业性的欺骗和无用的向导; 整个框架设计良好,易扩展。 InstallAnywhere 简介 InstallAnywhere(下文简称 IA)是一种多平台安装程序的开发工具,可用于将桌面系统、企业、或多模式 Web 服务等软件安装在任何平台上,并对这些应用程序进行配置,以获得最佳的性能。它包括以下特性: 支持多平台与多语言,可在任何客户端或服务器平台部署软件; 集成开发环境,简化安装开发与创造; 支持安装程序的个性化定制与优化; 实现软件部署的简化和标准化,降低测试与支持的成本。 由于安装程序自身的特点,对它进行自动测试一直是一个难题。对 IA 的前身 InstallShield 来说,一直没有好的方法将 JUnit 应用到安装程序的自动测试。IA 提供了这样的一个框架,使我们可以应用 JUnit 对安装程序进行自动测试,并且给我们留下对它进行扩展的可能性。本文就将对它进行剖析。 InstallAnywhere 安装程序图形界面自动测试框架结构 基于 Swing/AWT 的图形界面程序的自动测试对开发者来说一直是一个挑战,这是由于: 底层图形框架的复杂性。 应用的业务逻辑与图形界面相结合造成的复杂性。 缺少直观的自动测试框架。 对基于 InstallAnywhere 开发的安装程序界面进行自动测试同样面临这些问题。前两个情况是一直都存在的,本文重点研究第三种情况。设计一个安装程序界面自动测试框架需要解决以下问题: 基于JUnit的InstallAnywhere安装程序图形界面自动测试框架(2)时间:2011-07-01 IBM / 孙岩 杨留君 潘章晟自动跟踪测试每一个窗口和面板。 自动测试每个面板上的控件,如文本框、下拉列表、按钮等。 IA 提供了一个基于 JUnit 3 的安装程序界面自动测试框架,基于它我们可以方便的编写测试程序对安装程序界面进行自动单元测试。IA 图形界面自动测试框架提供了 4 种 fixture:工作目录 fixture、临时目录 fixture、JAVA 程序执行 fixture,和界面自动测试 fixture。工作目录和临时目录 fixture 分别用于创建工作目录和临时目录。JAVA 程序执行 fixture 用于执行使用 IA 开发的安装程序。 图形界面自动测试 fixture 是整个架构的核心,下面将对它进行详细介绍。 图 1. IA 图形界面自动测试框架架构图 如图 1 所示界面自动测试 Fixture 由测试用例控制器,事件通知服务器和自测试机器人组成。测试用例控制器定义并控制测试用例。测试用例包括要测试的窗口和面板序列,以及系统输入事件用来测试面板上每个控件。事件通知服务器监听安装程序窗口激活(windows.active)和面板显示 (panel.show) 事件。自测试机器人产生系统输入,如按键,点击鼠标等。 测试开始时,此测试框架先创建事件通知服务器。事件通知服务器是一个 socket 服务器,它监听来自 IA 安装程序的事件,IA 安装程序启动一个窗口以及显示一个面板都会向事件通知服务器发送一个事件通知。然后 JAVA 程序执行 fixture 启动 IA 安装程序。接下来,测试用例控制器会根据事先定义好的测试用例按照线性顺序接收来自 IA 安装程序的事件和向 IA 安装程序发送系统输入,直到所有测试完成。 在下一节,本文将举例说明如何使用 IA 安装程序图形界面自动测试框架。 举例说明如何使用 IA 安装程序图形界面自动测试框架 本文用一个使用 IA 开 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |