TA的每日心情 | 开心 2015-10-19 13:26 |
---|
签到天数: 2 天 连续签到: 2 天 [LV.1]测试小兵
|
本帖最后由 kavensyw 于 2010-11-3 23:33 编辑
不知道大家对象库都是如何维护的,是用tsr,xml,excel,database中哪种比较好呢。
我总感觉系统默认的tsr占用空间比较大.
所以我打算这样做:(如果对转换后的xml结构熟悉,可以把123省略,可以直接写xml文件)
1. 录制脚本,生成tsr;
2.把tsr先导出为xml;
3. 删除xml中不必要的属性,只保留Object,Property,BasicIdentification等需要的部分.这样空间能缩小很多.(这部分可以考虑做个脚本或小工具来自动处理);
4. 在脚本运行时,再把xml转换成tsr关联,用完后删除tsr文件(因为tsr任会占用很大空间).
不知道这样使用起来是不是方便,我担心这种方式如果对象很多的话,转换会不会对测试运行效率影响很大
大家有没有更好的方法,分享一下,不胜感激
'附件_backup是未修改的tsr,xml
'不带backup是修改后的xml及临时tsr
下面是我试运行的脚本,拷贝到QTP中运行
'TEST HEADER
'*****************************************************************************************************************
'@Name : Action1
'@Description : 把xml形式的对象库转变成tsr,然后关联,用于测试
'@Author : kavensyw
'@CreationDate : 11/03/2010
'@Remarks : xml对象库从录制的对象库导出为xml,并删除其中不必要的属性等内容;
' 可以先手动导入一次,看导入xml会否有故障;
' 保留足够的空间以便存放临时tsr文件.
'
'TEST HEADER
'*****************************************************************************************************************
Dim oObjRep ' Mercury.ObjectRepositoryUtil对象的引用
Dim qtApp, qtRepositories
Set oObjRep = CreateObject("Mercury.ObjectRepositoryUtil")
' 这儿添加脚本:先检查xml是否存在,不存在则Fail,退出测试
' 这儿添加脚本:先检查tsr是否存在,存在就先删除,否则import会出错
oObjRep.ImportFromXML "G:\Test\baidu.xml","G:\Test\baidu.tsr"
Set qtApp = CreateObject("QuickTest.Application")
Set qtRepositories = qtApp.Test.Actions.Item(1).ObjectRepositories ' 获取object repositories集合
'移除不必要的对象库/RemoveAll
lngPosition = qtRepositories.Find("G:\Test\Debug.tsr") ' 查找不需要的tsr的index
If lngPosition <> -1 Then ' 如果找到tsr
qtRepositories.Remove lngPosition ' 移除tsr
End If
' 关联需要的tsr对象库
If qtRepositories.Find("G:\Test\baidu.tsr") = -1 Then ' 查找tsr的index
qtRepositories.Add "G:\Test\baidu.tsr", 1 ' 添加tsr
End If
Reporter.ReportEvent micPass, "开始运行实际测试脚本", ""
SystemUtil.Run "Iexplore.Exe", "www.baidu.com"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "嗷嗷嗷叫"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
Reporter.ReportEvent micPass, "结束运行实际测试脚本", ""
' 取消关联
lngPosition = qtRepositories.Find("G:\Test\baidu.tsr") ' 查找tsr的index
If lngPosition <> -1 Then ' 如果找到tsr
qtRepositories.Remove lngPosition ' 移除tsr
End If
Set qtRepositories = Nothing
' 这儿添加脚本:用完之后删除tsr文件
Set qtApp = Nothing ' 释放qtApp |
|