自动化测试专家,专注于自动化测试领域的框架开发及国外最新自动化技术,担任过银行、电子商务等项目的自动化测试工作,精通自动化测试工具QTP、Watir等.并对QTP有过深入的研究,有过企业内训和工具培训经验,希望能与各位同行一起沟通,交流,探讨。 zzxxbb112@hotmail.com

【QTP系列讲座 30】== XML联合XSL输出html报表 ==

上一篇 / 下一篇  2011-10-31 17:01:16 / 个人分类:QTP系列讲座

 Rss订阅IQuickTest关于如何订阅?51Testing软件测试网7uHisk-y

GoogleReader订阅地址: http://feeds.feedburner.com/iquicktest

51Testing软件测试网l;OF2M&e-R0@(e]

作者:zzxxbb112
时间:2010/3/3 版权所有,侵权必究。51Testing软件测试网S Fx4d$J3{!Wq

出处:http://blog.csdn.net/zzxxbb112

cV1n:n ]Ct3B Q0

    在讲这一章之前,我首先要介绍一下XSL是什么.51Testing软件测试网o6Ud6EY

 

(H.DyJ_}#Y6M0
  • XSL  ----  简单的说就是一个模版文件,他可以和HTML中的标记一起使用并用来设置格式

在大致了解了XSL后,我们就可以开始这一章的内容,首先大家都知道平时当我们跑完QTP脚本后,QTP都会生成一个test results

.kCOA5lFC f^0

 

7eo$N/OO,a@7u|0

 

&vwmfN1v0

1

:~ HzLE0e3T8}/}(O2v0

 

(rR@NaR+[0

 51Testing软件测试网[S'RGY$x:@eU

在这个结果页面里我们可以进入FILE-->EXPORT REPORT51Testing软件测试网0oR Ht2g!@!u

 51Testing软件测试网5f"[$q],U F9Dl7U

 51Testing软件测试网 _E6R uj|O

251Testing软件测试网1}dg @#L K:s0zi

 51Testing软件测试网:}5L[G~W9@

 51Testing软件测试网'x m&k#h4H|uvB

这里有一个文件类型,我们就选择HTML,然后在EXPORT FORMAT这里我们就暂时先不管,先选择short,然后我们点击OK,就可以生成一份非常漂亮的根据这个REPORT转化的HTML文档,但是如果每个脚本都这样导出会显得十分麻烦,因此我们需要想办法把这一步骤进行自动化,方法有两种:

(UdW4Bw[&w&@U1n0

 

0M}.N5\,c;rB0
  • 修改注册表

 

%u4} O9_b0

    如果QTP是9.2版本的话可以直接修改注册表里的值51Testing软件测试网H.T5mhIh iZ-`

 51Testing软件测试网 p0V)R@RI!qS

进入HKLM->SOFTWARE->Mercury Interactive->QuickTest Professional->Logger->Media->Log51Testing软件测试网 NG6Ki4XTjr

把ACTIVE的属性改成1,默认为051Testing软件测试网W&k2mS`\`Tc

 

IHP,e5q.V}8J]R!L0

3

&K4RP S _,K l8F0

 51Testing软件测试网 X$_;oSqlY i,z

 51Testing软件测试网 Tz,t!t jq/iB'i

关闭注册表,重新运行脚本后,我们就可以在脚本文件夹里找到HTML格式的结果文件51Testing软件测试网Ii/D*t(p^ Z5r4X;|

 51Testing软件测试网+]c[ T/Y[

 

-@db&LK:j*o0~0
  • 使用XSL模版文件联合XML结果文件输出HTML

这个方法是我们今天需要讲的重点,首先我们进入到QTP安装路径下的DAT目录,我们可以看到这两个XSL文件,是不是很眼熟,没错,就是我们刚才在做导出HTML时的EXPORT FORMAT栏中的两种导出方式,最后一项是自定义XSL导出方式,其实QTP的这两种导出方式就是依靠这两个XSL的模版文件。

G3B8CA\!hA0

 51Testing软件测试网c.y;S\ @Y

4

W2O a6?@3z)},m#QX0

 51Testing软件测试网)WTz LZO

 

IU;s6YOp0g)w{ d"I0

接下来这段脚本是我在SQA上找到的一段代码,我把它拿来并进行了改写,加入了对中文的支持,原来HTML都是不支持中文的,显示时直接是乱码,这里我直接用了REPLACE替代函数来把字符集更换成了GB2312,这样我们生成的HTML就可以显示中文了。51Testing软件测试网z2wf8q+cy6~2u,b

51Testing软件测试网?tG2vr

  1. 'QTP的结果文件RES中的XML文件  
  2. sResultsXML = "C:/Documents and Settings/Administrator/桌面/Test1/Res3/Report/Results.xml"  
  3.    
  4. '需要的模版文件XSL  
  5. sDetailedXSL = "D:/Program Files/HP/QuickTest Professional/dat/PDetails.xsl"  
  6.    
  7. '调用转换函数输出HTML  
  8. ApplyXSL sResultsXML, sDetailedXSL, "c:/tt.html"  
  9.    
  10. '转换函数  
  11. Public Function ApplyXSL(ByVal inputXML, ByVal inputXSL, ByVal outputFile)  
  12.  sXMLLib = "MSXML.DOMDocument"  
  13.  Set xmlDoc = CreateObject(sXMLLib)  
  14.  Set xslDoc = CreateObject(sXMLLib)  
  15.    
  16.  xmlDoc.async = False<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; borde

TAG: iquicktest QTP qtp

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 32291
  • 日志数: 49
  • 建立时间: 2009-10-17
  • 更新时间: 2011-10-31

RSS订阅

Open Toolbar