论文部分内容阅读
随着Web应用在企业应用中的普及和其复杂性的增加,Web测试的要求也日益增高。为了提高测试效率、测试覆盖率和资源利用率,越来越多的公司引入自动化测试工具来部分代替并减轻测试人员的大量重复的、繁琐的手工测试。由于商业自动化测试软件价格高昂,开源的Web自动化测试工具以其易扩展、兼容性强、方便易用等特点,被越来越多的测试团队采用。Selenium便是目前比较成熟的一款开源软件,以其为基础来搭建自己的自动化测试框架已成为一条有效的自动化测试途径。本文通过对待测的产品生命周期管理系统(PLM)的分析,结合自动化测试的需求,设计和实现了一个基于Selenium的Web应用自动化测试框架。该框架是一个结合了数据驱动测试框架、脚本模块化测试框架、关键字驱动测试框架等优势的混合型自动化测试框架。框架主要由测试运行主体Radar和测试脚本类库Solvent组成。其中Radar细分为Radar Ant Interface、Radar Selenium foundation classes和Radar Core三个模块,RadarAnt接口从本地读取数据,定制了Ant Task来运行Radar;Radar Selenium foundationclasses包装了Selenium的基础类,是测试框架与Selenium的接口;Radar Core实现了整个框架的核心功能,包括环境的初始化、测试集的动态生成、测试的执行、测试报告的生成等。测试脚本库Solvent则提供给测试人员一些基础类来编写业务层面的测试用例脚本。该框架使用Java语言在Eclipse IDE下编写代码,使用Java Properties文件保存系统配置数据,使用xml文件保存测试用例输入数据,使用单元测试框架Junit驱动测试并生成测试报告,使用Ant构建测试用例集、编译、运行测试,在代码开发阶段,使用Firebug和XPather工具定位待测Web页面元素。目前,本文所开发的Web应用自动化测试框架已在企业PLM系统上进行了应用实践。实践结果表明,该框架能较好地实现对PLM系统若干版本的自动化回归测试,提高了测试效率,节约了测试成本和人力。