自动化的testComplete测试框架和测试基础1

先说工具:Testcomplete 8

为Windows、.NET、Java和Web应用程序提供特性全面的自动化测试环境。 具有系统化、自动化和结构化特性,支持.NET , Java , Visual C++, Visual Basic, Delphi, C++Builder 和web应用程序。

能够以关键字测试(Keyword tests)或者脚本(Script)测试的形式创建功能测试。同时,TC在对象识别的基础上,可以采用数据驱动的方式,根据脚本调用excel等案例把大量重复冗余的工作通过TC自动化完成。

 

软件为收费的。。。,所以相对学习和观摩的朋友应该较少。当然可以触类旁通用在其他的自动化测试工具上,这里主要是说VBScript的。当然我水平有限大家可以随便扔砖头。

 

A. 编写一个简单的脚本

Sub newscript ‘定义一个简单的执行过程 newscript 

    Dim i ‘定义i

    For i = 0 To 10

        log.Message(i) ‘输出循环11次的i值

    Next

End Sub


B. 执行脚本
点击执行按钮或右键点击Run

自动化的testComplete测试框架和测试基础1_第1张图片
C. 查结果


IX. 自动化脚本阅读和解析
A. 脚本1 脚本入口点Sub
假如Sub作为一个开始的执行过程是不能带参数。

Sub start      '………

     '………

     '………

End Sub

 

当过程执行到End Sub没调用其他的Function 或Sub就会自动结束。这相当于脚本过程的一个生命周期。
1. 这个过程可以使用其他函数和过程以外的定义变量和常量,包括USEUNIT的函数和过程以外的定义变量和常量。

Dim s

s = 1

sub start

     log.Message(s) '显示1     

 end sub

2. 这个过程可以调用本脚本和USEUNIT所有函数和过程。

 

s = 1

sub start

     log.Message(s) '显示1   

     test 

 end sub

 

sub test

     b =2

     log.Message(b)

end sub


3. 这个是一个过程所以不会产生任何返回值,但是支持调用本过程。

s = 1

start

sub start

   log.Message(s)

    if s > 2 then

        exit sub

    end if

    s = 1 + s

end sub

 4. 过程中遇到exit sub和脚本错误(非on error Resume Next)自动结束

 

 脚本2 初始化测试数据(预期结果)
            初始化测试数据1 

         Dim s

          S = 3

       这样定义在数据量较多的时候很不方便。

       Testcomplete 使用了ODT.DATA的方式存储大量需要测试使用的数据.

       先清除ODT.DATA.Group和对应使用的ODT.Classes

Sub DelGroups()

      Dim x,i,group

      x = ODT.Data.GroupCount '获取ODT在group数量

      For i=0 To x-1

            Set group = ODT.Data(i)

            ODT.Data.DeleteGroup(group.Name) '删除对应第一个group

      Next

End Sub

 

Sub DelClass()

       If ODT.Classes.Count > 0 Then     

                 ODT.Classes.Clear '清空classes定义

       End If

End Sub

 

定义ODT class 测试数据的类型

比如要使用Button属性Name、FullName、Text、Hotkeys、Size、pic

sub btn

      If ODT.Classes.Items("Button") Is Nothing Then

              Set testClass=ODT.Classes.Declare("Button") '创建Class

             Call testclass.AddProperty("Name") '增加定义

             Call testClass.AddProperty("FullName")

             Call testClass.AddProperty("Text")

             Call testClass.AddProperty("Hotkeys")

             Call testClass.AddProperty("Size")

             Call testClass.AddProperty("pic")

      End If

end sub


再在没检测到一个Button的时候写入这些数据

sub btn

      If ODT.Classes.Items("Button") Is Nothing Then

              Set testClass=ODT.Classes.Declare("Button") '创建Class

             Call testclass.AddProperty("Name") '增加定义

             Call testClass.AddProperty("FullName")

             Call testClass.AddProperty("Text")

             Call testClass.AddProperty("Hotkeys")

             Call testClass.AddProperty("Size")

             Call testClass.AddProperty("pic")

      End If

      Set MyGroup = ODT.Data.AddGroup("Button") '创建数据组

      Call MyGroup.AddVarOfClassType("wimbutton","Button") '增加对应类型的数据

       Set wb = odt.Data.Groups("Button").Variables("wimbutton").Value

       wb.name = "bt1" '赋值

       wb.FullName = "bt2"

       wb.Text = "bt3"

       wb.Hotkeys = "b"

       wb.Size = 200

       wb.pic = "c:\pic.png"

end sub

查看ODT会发现数据:
自动化的testComplete测试框架和测试基础1_第2张图片

ODT.Data作为存储数据代替了数据库的存储功能同时也会消耗部分内存,大量ODT数据需要释放掉不需要的不让很影响测试效率,其实就是删除ODT的的节点。


 定义窗体并且引用
1. 首先新建一个UserForms
右键UserForms增加一个Items,添加最简单的控件Button
2. 窗体控件方法
点击创建一个窗体方法

Sub Forms

         UserForms.UserForm1.ShowModal '显示窗体和show的区别是相对于堵塞机制

        
End Sub

 

Sub UserForm1_cxButton1_OnClick(Sender)

         UserForms.UserForm1.Hide '关闭窗体

End Sub

右键执行Forms过程可以得到你创建的窗体。


分布式测试
创建NetWorkSuite项目
在NetWorkSuit->Hosts增加
在新建的hosts1里面通过右键Edit填入分布式的测试机器信息
在NetWorkSuit->Jobs增加
在新建的Jobs1里面通过右键Edit填入分布式的测试机器测试启动脚本


Hosts:选择上面NetWorkSuit->Hosts Project

File Name:选择对应hosts机器存放的脚本文件路径

Remote App:选择远端Hosts的执行工具。 按照上述方式可以添加多台机器同时进行脚本的测试

你可能感兴趣的:(testcomplete)