记录阿里巴巴QA架构组成长点滴。2008年关键词为效率,技术,影响力!QA/测试架构师定义:开发和设计测试框架测试库;纵横全局的考虑产品的功能,设计复杂的测试系统;负责研发某一项特定的测试技术;为公司考虑如何提高测试效率。领导公司测试技术的发展和测试策略上的方向,关注整个公司的测试部门的问题,前瞻性的考虑未来的版本的测试策略和技术。测试架构师计划/设计测试平台,关注着产品的测试过程,提供咨询服务,影响到公司内的测试机构测试社区,以及开发机构等,对产品各个方面施加深远而正确的影响,最终提高整体软件质量。
excel对象池
上一篇 /
下一篇 2008-05-15 12:36:37
/ 个人分类:自动化测试框架与实现
by jiale
自动化框架遇到了脚本执行时间长的问题,也就有了性能优化的需求,我们分析了影响性能的几个方面,其中一个是由于我们框架数据池是使用excel实现,每次读写数据池参数都要打开关闭excel.exe,打开excel.exe的时间就需要1-2秒,大大的影响性能,因此我们准备引入excel对象池,相同的excel文件只打开一次,打开后一直驻留在内存中,直到完成全部对该excel文件读写后关闭,这样读写数据池参数时不做打开关闭excel的动作,而改为读取excel对象池,打开关闭excel都有对象池方法来完成,
对象池方法:
一、从对象池获取excel对象:在对象池中查找是否存在该excel文件excelworkbook对象,存在则返回excelworkbook对象,不存在则打开文件后返excelworkbook对象
Function xlsGetPoolWorkbook(path)
Dim i
Dim oTempWorkBook
If IsEmpty(oPoolExcelApp) Then
Set ōPoolExcelApp = xlsCreateExcel()
End If
'对象池中存在则返回
For i = 0 To iPoolMaxNumber
If sPoolFilePath(i) = path Then
Set xlsGetPoolWorkbook = oPoolWorkBook(i)
Exit Function
End If
Next
'对象池中不存在则打开
On Error Resume Next
Set ōTempWorkBook = xlsOpenWorkbook(oPoolExcelApp,path)
If Err.Number <> 0 Then
Set xlsGetPoolWorkbook = nothing
Else
iPoolMaxNumber = iPoolMaxNumber + 1
ReDim oPoolWorkBook(iPoolMaxNumber)
ReDim sPoolFilePath(iPoolMaxNumber)
Set oPoolWorkBook(iPoolMaxNumber) = oTempWorkBook
sPoolFilePath(iPoolMaxNumber) = path
oTempWorkBook = nothing
Set xlsGetPoolWorkbook = oPoolWorkBook(iPoolMaxNumber)
End If
End Function
二、释放对象池中某个excel对象
Function xlsFreePoolWorkbook(path)
Dim i
If IsEmpty(oPoolExcelApp) Then
xlsFreePoolWorkbook = 1
Exit Function
End If
'对象池中存在则释放
For i = 0 To iPoolMaxNumber
If sPoolFilePath(i) = path Then
Set oPoolWorkBook(i) = nothing
xlsFreePoolWorkbook = 1
Exit Function
End If
Next
End Function
三、释放对象池中所有excel对象
Function xlsFreeAllPoolWorkbook()
Dim i
If IsEmpty(oPoolExcelApp) Then
xlsFreeAllPoolWorkbook = 1
Exit Function
End If
For i = 0 To iPoolMaxNumber
Set oPoolWorkBook(i) = nothing
sPoolFilePath(i) = ""
Next
iPoolMaxNumber = -1
oPoolExcelApp.quit
Set ōPoolExcelApp = nothing
xlsFreeAllPoolWorkbook = 1
End Function
相关阅读:
- 利用qtpapp自动加载QTP lib文件 (qaarchitech, 2008-3-24)
- 续前:利用winapp设置系统环境变量 (qaarchitech, 2008-3-24)
- 如何对qtp无法识别的web对象输入值 (qaarchitech, 2008-3-24)
- 如何得到odbc数据源中系统DSN的安装配置? (qaarchitech, 2008-4-08)
- 如何得到localmachine的odbc driver安装配置? (qaarchitech, 2008-4-08)
- ADODB.Connection使用OraOLEDB.OracleOracle字串链接数据库 (qaarchitech, 2008-4-14)
- 无人值守运行自动化脚本 (qaarchitech, 2008-5-12)
- 类似ruby中hash table数据结构在QTP中的应用 (qaarchitech, 2008-5-12)
- excel采用usedRanage 与jet用select实现单元格访问 (qaarchitech, 2008-5-12)
- 用字典对象实现堆栈的数据结构 (qaarchitech, 2008-5-12)
收藏
举报
TAG:
自动化测试框架与实现