用TestComplete实现一个关键字驱动测试框架

发表于:2009-04-29来源:作者:点击数: 标签:框架TestComplete驱动关键
最近在做使用 TestComplete 做一个 自动化测试 项目的时候,发现在TestComplete中,可以利用其中的FindChild方法来实现一个简单的关键字驱动的框架,方法如下: (1)在Excel编写测试关键字。 在Excel文件中编写测试关键字,包括测试对象、测试操作、输入的参
最近在做使用TestComplete做一个自动化测试项目的时候,发现在TestComplete中,可以利用其中的FindChild方法来实现一个简单的关键字驱动的框架,方法如下:
(1)在Excel编写测试关键字。
        在Excel文件中编写测试关键字,包括测试对象、测试操作、输入的参数等,如图所示:
 

(2)编写测试脚本,读入Execl中的测试关键字。
// 全局的变量数组,用于存储从Excel读入的测试关键字
Var KeyWord_TestObject,KeyWord_Operation,KeyWord_Parameters;
//.............................................................................
// 目的:通过ADO查询Excel数据
// 输入参数:
//           ExcelFilePath :Excel文件的路径
//           QueryString:查询语句
// 返回结果:
//           返回所有关键字数据,赋值给KeyWord_TestObject,KeyWord_Operation,KeyWord_Parameters这3个全局的变量数组
// 注意事项:
// 作者:陈能技
// 日期:2008-6-3
//.............................................................................
Function ReadKeyWordFromExcel(ExcelFilePath,QueryString);
 Var ConStr,Connection,RS,ClassObjArray,LineIndex,ClassObject:OleVariatn;
begin
 // 定义连接串
 ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%S;Extended Properties=Excel 8.0';
 ConStr := Utilities.Format(ConStr,[ExcelFilePath]);
 Connection := Sys.OleObject('ADODB.Connection');
 // 打开连接
 Connection.Open(ConStr);
 // 执行查询操作
 RS := Connection.Execute(QueryString);
 // 创建变量数组
 KeyWord_TestObject := CreateVariantArray(0,0);
 KeyWord_Operation := CreateVariantArray(0,0);
 KeyWord_Parameters := CreateVariantArray(0,0);
 LineIndex := 0;
 // 循环读入所有数据
 While Not RS.EOF do
 begin
    Inc(LineIndex);
    // 动态修改数组大小
    VarArrayRedim(KeyWord_TestObject,LineIndex-1);
    VarArrayRedim(KeyWord_Operation,LineIndex-1);
    VarArrayRedim(KeyWord_Parameters,LineIndex-1);  
    // 赋值
    KeyWord_TestObject[LineIndex-1] := RS['TestObject'].Value;
    KeyWord_Operation[LineIndex-1] := RS['Operation'].Value;
    KeyWord_Parameters[LineIndex-1] := RS['Parameters'].Value;   
    // 下一条数据
    RS.MoveNext;
 end;
 RS.Close;
 // 关闭连接
 Connection.Close;
end;
Procedure Test_ReadKeyWordFromExcel;
 Var I : OleVariant;
begin
 ReadKeyWordFromExcel('D:\Code\MyTestSuite\Data\KeyWord.xls','Select * from [KeyWord$]');
 For I := 0 to VarArrayHighBound(KeyWord_TestObject,1) do
 begin
    Log.Message(VarToStr(KeyWord_TestObject[I])+ '   | '
               + VarToStr(KeyWord_Operation[I])+' | '

原文转自:http://www.ltesting.net