转:使用Java构建稳定可靠的QTP自动化测试

上一篇 / 下一篇  2010-04-25 11:40:16

使用Java构建稳定可靠的QTP自动化测试
2010-02-05 12:02:14来源: 作者: 【】 浏览:19次 评论:0

使用Java构建稳定可靠的QTP自动化测试

 了解和使用过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的运行实例中去

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE properties SYSTEM “
http://java.sun.com/dtd/properties.dtd“>
<properties>
<comment>This is Config xml for AC agent,the screen shot value could be ERROR,NONE,ALL</comment>
<entry key=”GENERATE_FILE_ONLY”>false</entry>
<entry key=”RECOVERY_LEVEL”>1</entry>
<entry key=”SCREENSHOT”>ERROR</entry>
<entry key=”SYNC_TIMEOUT”>20000</entry>
<entry key=”TEST_TIMEOUT”>18000</entry>
</properties>

2. 测试执行脚本任务文件,格式如下:

qtpdriver会在运行的时候,读取此xml,执行不同响应的测试任务

<suite name=”demo_test_suite” desc=”this is a suite for demo”>
  <component name=”demo_test_component” desc=”this is a component test for demo”>   
    <casefile file=”D:\learn\cesoo\cesooProject\JavaQTP\QTPAgent\driver\testscripts\flightDemo” desc=”flightDemo”></casefile>
    <casefile file=”testscripts\flightDemo” desc=”flightDemo”></casefile>
  </component>
</suite>

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文件。通过增加<casefile>节点,来添加已有的qtp脚本
3. 双击runqtp.bat,开始运行qtp测试任务
4. 会在当前目录下生成results子目录,保存qtp各个脚本的测试结果报告,同时ac会为您生成一份总览报告ACSummary.html,在 results/timestamp目录下。

可在论坛下载框架jar包http://www.cesoo.com/bbs/viewtopic.php?f=3&t=28


TAG:

 

评分:0

我来说两句

日历

« 2024-03-28  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 2791
  • 日志数: 4
  • 建立时间: 2008-10-06
  • 更新时间: 2010-04-25

RSS订阅

Open Toolbar