了解和使用过QTP的朋友都知
道,QTP的脚本开发语言都是基于vbscript的,由此所衍生出的lib,automation也都大多采用vbscript的,可以说,qtp的自
动化测试是一个vbscript的世界。但vbscript作为脚本语言来说,尤其天生的缺陷,比如出错处理非常薄弱,不适合构建大规模的自动化测试,如
测试框架等等。为此我开始将qtp的automation执行转化为java语言,以能够符合框架的大规模开发要求。下面将设计及实现介绍一
下,以抛砖引玉。
QTPDriver_java的目标:
1. 使用java语言实现qtp automation object
model,并在此基础上构建完整的自动化测试解决方案,包括健壮的错误诊断处理,和丰富的自动化测试报告等等。
2. 为qtp脚本提供丰富的框架规范及接口,以解决qtp脚本的健壮性和可诊断性问题。
目前有两个配置文件:
1. QTP 环境配置文件config.xml,格式如下:
主要是qtp启动的相关参数,包括synctimeout,screenshot的设置,测试运行的最大超时时间等等。qtpdriver会读取这
些参数,并通过automation object model设置到qtp的运行实例中去
http://java.sun.com/dtd/properties.dtd“>
This is Config xml for AC agent,the screen shot value
could be ERROR,NONE,ALL
false
1
ERROR
20000
18000
2. 测试执行脚本任务文件,格式如下:
qtpdriver会在运行的时候,读取此xml,执行不同响应的测试任务
demo”>
test for demo”>
file=”D:\learn\cesoo\cesooProject\JavaQTP\QTPAgent\driver\testscripts\flightDemo”
desc=”flightDemo”>
desc=”flightDemo”>
3. java_qtpDriver的功能如下:
1)启动qtp,按照配置文件中的参数,完成qtp的相关设置
2)加载recovery 场景和相关lib
3)读取测试任务xml文件,循环执行指定的测试任务,直到结束
4)生成qtp结果报告,并在qtp报告的基础上,再做一层分析,最终生成xml报告,如下:
总结一下:
qtp_driver的优势是
1. 全java编写,提高测试的稳定性和可靠性
2. java命令即可触发自动化测试的执行和结果报告的收集,完全实现无人值守运行
3. 强大的报告功能,生成基于qtp的总览报告及细分报告,直观简洁,适合回归测试
4. 持续开发改进
qtp_driver的劣势是…..目前下载只对读者用户开放,普通用户必须经过管理员升级,方可获得下载权限
使用指南
1. 下载附件zip包,并解压
2. 双击运行install_driver.bat,完成driver系统文件注册
3. 编辑TestSuite.xml文件。通过增加节点,来添加已有的qtp脚本
3. 双击runqtp.bat,开始运行qtp测试任务
4.
会在当前目录下生成results子目录,保存qtp各个脚本的测试结果报告,同时ac会为您生成一份总览报告ACSummary.html,在
results/timestamp目录下。