日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

我的好友

统计信息

  • 访问量: 27
  • 日志数: 1
  • 建立时间: 2008-09-23
  • 更新时间: 2008-09-23

RSS订阅

我的最新日志

  • 从Excel中取值(借鉴他人的)

    2008-9-23

    TestCompleteExcel取值实例

    qiguojie的51testing原创文章,转载请注明出处,非常感谢!

    因为曾经使用过Winrunner 7.6,对其自动的数据驱动测试功能印象非常深刻(独立的一个功能模块,可以方便的从Excel中读取数据进行参数化的输入),非常的方便。刚开始接触TestComplete时就记得2点:一个是WR支持鼠标操作录制但很不好用,TestComplete对其支持就非常好;另外一个就是WR的数据驱动功能比TC的强太多。

    但是数据驱动测试是自动化测试的一个应用非常多的测试类型,因此我查询了TC的帮助文件,写了一个实例出来,描述怎么才能从Excel文件中获取对应的数据。

    TestComplete的简单使用步骤:
    1、打开TestComplete
    2、选择菜单 File - New - New Project创建一个新项目
    3、选择General - Purpose Test Project,然后选择Language为Delphiscrīpt后OK
    4、Select Project Items中默认,然后Finish即可
    5、在Project Workspace的Project Explorer中点击脚本对应的Unit1单元文件
    6、复制下面的代码到单元文件
    7、保存,然后F9执行

    //========================
    //Author:qiguojie
    //Date:2008-05-05
    //scrīpt Type: Delphiscrīpt
    //========================

    //定义全局变量
    var
         MSExcel : OleVariant;
         ExcelFile;

    //声明读取值的函数
    function ReadExcel(i,j):string;forward;

    Procedure MyTest;
    var
        i,j : Integer;
        FileName : String;
    begin
        FileName := 'E:\1.xls';
        j := 1;

    //检查Excel是否启动
        ExcelFile := Sys.WaitProcess('EXCEL');
        if ExcelFile.Exists then
            ExcelFile.Terminate();
        try
            MsExcel := Sys.OleObject('Excel.Application');
        except
            Log.Warning('Unable to initialize MS Excel.', '', pmHigher);
            Exit;
        end;

    //打开对应Excel文件
        MsExcel.Workbooks.Open(FileName);

    //循环取出10个值
        for i := 1 to 10 do
        begin
            log.message(ReadExcel(i,j));
        end;
    end;

    //读取值的函数实现
    function ReadExcel(i,j):string;
    begin   
        Result := MsExcel.Cells(i,j).Value;
    end;


     

Open Toolbar