【软件测试自动化-QTP系列讲座 30】== XML联合XSL输出html报表 ==
来源:互联网 发布:mac book 虚拟机 编辑:程序博客网 时间:2024/05/14 05:23
Rss订阅IQuickTest(关于如何订阅?)
作者:zzxxbb112
时间:2010/3/3 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
在讲这一章之前,我首先要介绍一下XSL是什么.
- XSL ---- 简单的说就是一个模版文件,他可以和HTML中的标记一起使用并用来设置格式
在大致了解了XSL后,我们就可以开始这一章的内容,首先大家都知道平时当我们跑完QTP脚本后,QTP都会生成一个test results
在这个结果页面里我们可以进入FILE-->EXPORT REPORT
这里有一个文件类型,我们就选择HTML,然后在EXPORT FORMAT这里我们就暂时先不管,先选择short,然后我们点击OK,就可以生成一份非常漂亮的根据这个REPORT转化的HTML文档,但是如果每个脚本都这样导出会显得十分麻烦,因此我们需要想办法把这一步骤进行自动化,方法有两种:
- 修改注册表
如果QTP是9.2版本的话可以直接修改注册表里的值
进入HKLM->SOFTWARE->Mercury Interactive->QuickTest Professional->Logger->Media->Log
把ACTIVE的属性改成1,默认为0
关闭注册表,重新运行脚本后,我们就可以在脚本文件夹里找到HTML格式的结果文件
- 使用XSL模版文件联合XML结果文件输出HTML
这个方法是我们今天需要讲的重点,首先我们进入到QTP安装路径下的DAT目录,我们可以看到这两个XSL文件,是不是很眼熟,没错,就是我们刚才在做导出HTML时的EXPORT FORMAT栏中的两种导出方式,最后一项是自定义XSL导出方式,其实QTP的这两种导出方式就是依靠这两个XSL的模版文件。
接下来这段脚本是我在SQA上找到的一段代码,我把它拿来并进行了改写,加入了对中文的支持,原来HTML都是不支持中文的,显示时直接是乱码,这里我直接用了REPLACE替代函数来把字符集更换成了GB2312,这样我们生成的HTML就可以显示中文了。
'QTP的结果文件RES中的XML文件sResultsXML = "C:/Documents and Settings/Administrator/桌面/Test1/Res3/Report/Results.xml" '需要的模版文件XSLsDetailedXSL = "D:/Program Files/HP/QuickTest Professional/dat/PDetails.xsl" '调用转换函数输出HTMLApplyXSL sResultsXML, sDetailedXSL, "c:/tt.html" '转换函数Public Function ApplyXSL(ByVal inputXML, ByVal inputXSL, ByVal outputFile) sXMLLib = "MSXML.DOMDocument" Set xmlDoc = CreateObject(sXMLLib) Set xslDoc = CreateObject(sXMLLib) xmlDoc.async = False xslDoc.async = False xslDoc.load inputXSL xmlDoc.load inputXML outputText = xmlDoc.transformNode(xslDoc.documentElement) outputText=replace(outputText,"UTF-16","gb2312") Set FSO = CreateObject("Scripting.FileSystemObject") Set outFile = FSO.CreateTextFile(outputFile,True) outFile.Write outputText outFile.Close Set outFile = Nothing Set FSO = Nothing Set xmlDoc = Nothing Set xslDoc = Nothing Set xmlResults = NothingEnd Function
初始化响应的参数并运行以上代码后,我们可以看到在C盘中有个tt.html,先不急着打开,我们先把DAT目录下的Presults.css文件拷贝到tt.html的同级目录下,然后我们就可以打开了,看~~是不是很漂亮
总结:
其实我们如果对XSL熟悉的话,完全可以自己写一个自定义的模版出来,并通过此文件来生成我们自己想要的HTML格式,我们可以看到在QTP自带的这两个xsl文件中都有导入另一个PStringTable.xsl文件,此文件就是储存我们运行完成的QTP结果的参数值的,感兴趣的朋友可以自己研究一下~尝试来做一个属于你自己的REPORT.
- Pshort.xsl中的导入PStringTable.xsl
- PStringTable.xsl中的一些常用参数值
如有任何问题请去IquickTest Q&A问题库进行提问
- 【软件测试自动化-QTP系列讲座 30】== XML联合XSL输出html报表 ==
- 【软件测试自动化-QTP系列讲座 50】== 自定义实时控制台输出 ==
- 【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==
- 【软件测试自动化-QTP系列讲座 23】 == QTP中API的应用 ==
- 【软件测试自动化-QTP系列讲座 40】== 创建多个QTP实例 ==
- 【软件测试自动化-QTP系列讲座 1】==Add-in Manager插件介绍==
- 【软件测试自动化-QTP系列讲座 2】== 对象库及原理透析 ==
- 【软件测试自动化-QTP系列讲座 3】==手工参数化==
- 【软件测试自动化-QTP系列讲座 4】== 资源池 ==
- 【软件测试自动化-QTP系列讲座 5】== DOM技术的应用 ==
- 【软件测试自动化-QTP系列讲座 6】== 利用DotNetFactory调用.NET类库 ==
- 【软件测试自动化-QTP系列讲座 9】== AutoItX技术的应用 ==
- 【软件测试自动化-QTP系列讲座 19】 == 重写Reporter对象 ==
- 【软件测试自动化-QTP系列讲座 22】 == 描述性编程 ==
- 【软件测试自动化-QTP系列讲座 26】==保留对象XmlUtil的应用 ==
- 【软件测试自动化-QTP系列讲座 28】==正则表达式的应用 ==
- 【软件测试自动化-QTP系列讲座 38】== 自定义场景恢复RecoveryFunction ==
- 【软件测试自动化-QTP系列讲座 41】== 强制获取文本相对坐标 ==
- GDAL的RASTERIO
- usaco_overfencing
- MOSS: 强大的命令行管理功能----STSADM
- TinyMCE
- sld样式调整
- 【软件测试自动化-QTP系列讲座 30】== XML联合XSL输出html报表 ==
- 手机公文处理/xMAP
- pureMVC总结
- 从今天开始写博
- 当我输入命令lspci后出现bash: lspci: command not found
- ide转sata硬盘安装
- 快乐一天
- 交叉测试之苹果理论
- Oracle procedure之Constants应用