一个智能的 Web 界面测试系统

本文介绍了如何通过一个智能的Web界面测试系统来提高Web2.0应用的测试效率。该系统结合TestNG, Ant, Selenium和Flex技术,实现自动化测试、快速配置管理测试任务,支持单元测试、功能测试和集成测试。系统包括下载控制、部署、自动测试脚本运行和测试报告发布等模块,有效降低了软件研发成本。" 136345057,16366489,Java计算指定年月的周信息,"['Java', '日期与时间', '开发工具']
摘要由CSDN通过智能技术生成

Web2.0 技术使 Web 界面更加丰富多彩,使信息交流更加灵活,同时也使得相关的 Web 技术测试需求越来越多。那么,如何提高 Web 界面的测试效率,保证新技术得到高质量应用?是否可以让测试人员脱离枯燥地点击鼠标,让机器自动地根据脚本运行?随着项目需求的变化,能否有一个比较快速地配置管理测试任务的方法?所有这些都可以通过一个智能的 Web 界面测试系统来实现。这个系统结合 TestNG, Ant, Selenium 还有 Flex 技术,实现方式简单、运行高效灵活,对单元测试,功能测试和集成测试都有益,能够提高团队的工作效率。

介绍 Web2.0 相关技术

Web2.0 是一个体现当代 WWW 技术发展趋势的流行概念。它极力促进创造性、信息交互性以及用户间协作性的 Web 设计思想的推广。这些想法带来了各种丰富多彩的基于 Web 的互动和资讯服务的开发和演变。例如,社交网站,WIKI 以及博客。

Web2.0 最突出的特色就是丰富的客户端技术。主要有三大类:


  • Ajax 和 JSON
    Ajax(Asynchronous JavaScript + XML)是 Web2.0 的主要技术。网页浏览不再是单击一下,然后等待整个页面重新装载,而是可以用鼠标顺畅地滚动地图,等待局部数据的自动刷新。典型的事例应用是 Google Map。
    JSON(JavaScript Object Notation)是 Ajax 的衍生技术之一。Web 数据通常通过 XML 传输。而 JSON 对象是一系列以逗号分隔的 name:value 对,与 XML 相比更加的简洁,传输效率高,适合大规模数据传输。典型的应用事例是 Live Search Box。
  • Restful
    REST(Representational State Transfer)是一种轻量级的面向数据库的 Web 服务架构。REST 架构遵循 CRUD 原则,对于资源只需要四种行为:Create(创建)、Read(读取)、Update(更新)和 Delete(删除)就可以完成对其操作和处理。典型的应用事例包括 Facebook 和 Flickr。
  • RIA
    RIA(Rich Internet Application)是如今非常流行的 Web 技术。它的界面类似于一般的桌面程序,比一般的 Web 程序更加丰富并且互动。目前比较流行的技术有三项:Abobe Flex, 微软的 Silverlight 和 Sun 推广的 JavaFX。三种技术都有自己的 SDK 和开发工具

    -------------------------------------------------------------------------------------------------
    介绍测试系统流程




以上我们简要介绍了 Web2.0 的概念和相关客户端技术。为确保客户端产品的质量,我们需要使用与此相应的 Web 测试工具,从而方便地融合于产品测试中。此外,为适应 Web 开发的灵活性,我们同时需要一个能够快速配置、部署、运行和汇报结果的测试系统,从而实现智能高效的测试流程,降低软件研发的成本。
基于以上论述,下面将介绍一个智能的 Web 界面测试系统。该系统有四大模块组成,主体主要由 Python 语言实现,结合几种开发工具和技术,包括 Ant、Selenium、TestNG、XML 和 Flex。系统有两个控制方式:时间和 Web 管理站点。时间逻辑在 Python 脚本中实现,当时间到来时系统会按顺序下载代码、部署应用程序、运行自动测试、发布报告;而 Web 管理站点通过 Flex 和 JAVA 技术来实现,用户可以按需在线配置某些模块,并要求立即执行自动测试。
下面将详细介绍每个模块的具体工作内容。测试流程参见图 1。

图 1. 测试系统概述



源代码和安装包的按需下载

在软件开发过程中,每天都会因新的功能而更改源代码。此外,很多项目需要国际团队合作,这些情况下代码的更新频率更加高。本土和国外团队经常需要共享源代码,而源代码可能被存放在固定的站点上面。当源代码文件量大而站点距离遥远的时候,下载代码的任务就比较耗时。为了节省这方面的时间,提高团队整体的工作效率,有必要让这部分工作自动化起来。所以,系统首先实现了一个结合 Python 和 XML 的下载控制模块。它的逻辑比较简单(参见图 2)。Python 程序定时读取配置文件,判断该任务当前是否可以运行。如果此刻时间和配置的时间一致,就访问站点,下载代码包。否则,放入等待队列,获取下一个任务。在等待队列里面的任务会在一定时间后重新启动。


图 2. 下载流程


下载配置文件的内容参见以下代码:

清单 1.下载配置文件的代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <items>
  3. <item name="download source files" type="source" weekday="-1" time="7:-1"
  4. source="https://sample.sourcecode.com"
  5. target="C:/sourcetar/"/>
  6. </items>

读取下载配置文件的代码如下:

清单 2.读取下载配置文件的代码

  1. from xml.dom.minidom import parse, parseString
  2. from MyDownloadTask import MyDownloadTask
  3. def readFromProperty(xmlfile):
  4.     tasklist = []
  5.     dom = parse(xmlfile)
  6.     for node in dom.getElementsByTagName('item'):
  7.         name = node.getAttribute('name')
  8.         weekday = node.getAttribute('weekday')
  9.         time = node.getAttribute('time')
  10.         source = node.getAttribute('source')
  11.         target = node.getAttribute('target')
  12.         type = node.getAttribute('type')        
  13. // 定义一个下载任务
  14.         task = MyDownloadTask()
  15.         task.create(name, weekday, time, source, target, type)
  16. // 加入下载任务列表
  17.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值