发布新日志

  • QuickTestProfessional基本使用示例(原创)

    junqinghuang 发布于 2008-05-26 15:17:40

    QuickTestProfessional基本使用示例(原创)

    1          设置脚本间的间隔时间

    Wait(2),单位:秒

    2          循环语句while

    i=0

    do while(i<10)

    Window("Opera").Restore

    Window("Opera").WinObject("OperaWindowClass").Click 446,232

    Window("Opera").WinObject("OperaWindowClass").Click 461,278

    i=i+1

    loop

    3         循环语句for

    For i=1 to 3

           Window("Opera").Restore

    Window("Opera").WinObject("OperaWindowClass").Click 446,232

    Window("Opera").WinObject("OperaWindowClass").Click 461,278

    Next

    4          判断语句

    Do while(i<20)

    Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Click

    wait(2)

    Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Click

    wait(2)

    i=i+1

    If i=5 Then

           Exit do

    End If

    Loop

    5          With语句

    Do while(i<20)

    With Browser("XX项目")

    .Page("XX项目").Frame("wap").Link("生活家居").Click

    .Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click

    .Page("XX项目").Sync

    With .Page("XX项目")

    .Frame("wap_6").Image("image").Check CheckPoint("image")'检查点

    .Frame("wap_6").Link("返回XX首页").Click

    .Sync

    .Frame("wap").Check CheckPoint("生活家居")'检查点

    End with

    End with

    i=i+1

    If i=3 Then

        i=21

    End If

    Loop

    6         检查点

    Browser("XX项目").Page("XX项目").Frame("wap").Link("生活家居").Click

    Browser("XX项目").Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click

    Browser("XX项目").Page("XX项目").Sync

    Browser("XX项目").Page("XX项目").Frame("wap_6").Image("image").Check CheckPoint("image")'检查点

    Browser("XX项目").Page("XX项目").Frame("wap_6").Link("返回XX首页").Click

    Browser("XX项目").Page("XX项目").Sync

    Browser("XX项目").Page("XX项目").Frame("wap").Check CheckPoint("生活家居")'检查点

    7           引用函数

    Function  hjq(i)

       msgbox("hjq")

    End Function

     

    Do while(i<20)

    '开始

    Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Click

    wait(2)

    Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Click

    '详情

    i=i+1

    If i=3 Then

        i=21

    End If

    Call hjq(i)

    Loop

    8           引用action

    录制action1,在step->action properties中设置该actionreuseable action

    录制action2,在inser->call to exiting action,选择action1

    OK

    9           参数化

    keyword view中设置对象的value为参数,并设置值

    With Browser("XX项目_2").Page("XX项目")

           With .Frame("wap_2")

                  .WebEdit("key").Set "1"

                  .WebButton("").Click

           End With

           .Frame("wap_3").Link("重新搜索").Click

           With .Frame("wap")

                  .WebEdit("key").Set DataTable("p_Text", dtGlobalSheet)

                  .WebButton("").Click

           End With

           .Sync

    End With

    10       Vbs随机读取一行文本内容

    '随机读取文件中的一行

    randomize 

    set fso=createobject("scrīpting.filesystemobject")  '创建文件系统对象

    set a=createobject("scrīpting.dictionary")  '类似于二维数组

    set file=fso.opentextfile("D:\hjq.txt")  '打开文件

    do while file.atendofstream<>true 

    m=m+1  'm记录文件中文本行数

    a.add m,file.readline  'file.readline读取某行记录

    loop 

    file.close  '关闭文件

    h=int(rnd*m) 

    msgbox "" & h & ":  " & a(h) ,4096,"随机内容"

    msgbox "1:  " & a(1) ,4096,"内容"

    msgbox "2:  " & a(2) ,4096,"内容"

    msgbox "3:  " & a(3) ,4096,"内容"

    11       二维数组的使用

    set a=createobject("scrīpting.dictionary")  '类似于二维数组

    a.add 0,"返回XX首页"

    a.add 1,"返回XX首页"

    a.add 2,"返回XX首页"

    a.add 3,"返回XX首页"

     

    For i=0 to 3

     

    With Browser("XX项目").Page("XX项目")

           With .Frame("wap")

                  .WebEdit("key").Set "1"

                  .WebButton("").Click

           End With

           .Frame("wap_2").Link(a(i)).Click

           .Sync

    End With

    Next

    12       从文件读取文本,并赋予参数

    set fso=createobject("scrīpting.filesystemobject")  '创建文件系统对象

    set a=createobject("scrīpting.dictionary")  '类似于二维数组

    set file=fso.opentextfile("D:\hjq.txt")  '打开文件

    wait(2)

    do while file.atendofstream<>true

    With Browser("XX项目").Page("XX项目")

           With .Frame("wap")

                  .WebEdit("key").Set  file.readline

                  .WebButton("").Click

           End With

           .Frame("wap_2").Link("返回XX首页").Click

           .Sync

    End With

    loop 

    file.close  '关闭文件

    13       读取csv文件并分割字符串

    Dim aasplit

    set fso=createobject("scrīpting.filesystemobject")  '创建文件系统对象

    set file=fso.opentextfile("D:\hjq.csv")  '打开csv文件

    wait(2)

    Do while file.atendofstream<>true

        aasplit=split(file.readline,",")',分割字符串

     

           For i=0 to UBound(aasplit)

     

                  With Browser("XX项目").Page("XX项目")

                         With .Frame("wap")

                                .WebEdit("key").Set  aasplit(i)

                                .WebButton("").Click

                         End With

                         .Frame("wap_2").Link("返回XX首页").Click

                         .Sync

                  End With

                 

           Next

     

    loop 

    file.close  '关闭文件

    14       怎样识别弹出的web窗口和对象

    1,  进入object identification

    2,  enviroment中选择web

    3,  选择某个test object class,如browser

    4,  添加mandatory properties

    5,  确定

    6,  重新录制脚本

    7,  OK

    15       Vbs写文件

    set fs =createobject("scrīpting.filesystemobject")

    if (fs.fileexists("c:\hjq.txt")) then

    set f =fs.opentextfile("c:\hjq.txt",8)

    f.write chr(13)+chr(10)

    f.write "hello"

    f.write chr(13)+chr(10)

    f.writeline "beijing"

    f.close

    else

    set f=fs.opentextfile("c:\hjq.txt",2, true)

    f.writeblanklines 2 '写入2个空行

    f.write "china"

    f.close

    end if

     

    16       基本函数

    QTP的基本使用函数:

    1, 获取对话框相应的文字: GetVisible Text

    2, 查找相应的字符串: instr (1,查找目标字符串,所查找的字符串)

    3, 随机数的获取: Randomnumber.Value() cstr(int(Rnd*10)+1)

    4, 等待函数: Wait(秒数)

    5, 获取数组下标: UBound (数组名)

    6, 拆分数组: Split(MyString, ",", -1, 1)

    7, 可执行步骤: OptionalStep

    8, 报告信息: Reporter.ReportEvent 3, "Save Step", "Out of cycle!"

    9, 判断对话框是否存在: .exist

    10,事件过滤函数:Reporter.Filter=过滤条件(0123)0代表显示所有的errorwarning,1,显示error,2,显示waining,3,任何errorwarning都不显示。

    11,循环函数:do … loop untilfor…to… then next,while.

    12,数据表格:DataTable,向外赋值,Dim aa = DataTable.value(“CellingName”,”ActionName”).

    13,获得对象属性的三种方法GetTOPropertyGetTOProperties,GetROProperty,GetTOProperty获得程序中对象当前的属性,GetTOProperties获得当前属性所有集合,GetROProperty获得的是录制时对象所获得的属性。

    14,检查点方法check和输出指定属性值output

    15,函数Descrīption,可以获得某页面同标签的属性进行操作。

    16,函数nagative可以随便跳转页面到指定的URL

    17,函数Object可以获得当前页面同属性的控件。

    18,函数Focus可以让控件获得焦点,函数Blur则是失去焦点,click单击,dbclick双击。

    19,函数setAttribute可以设置控件属性,getAttribute可以获得属性。

     

    ( 本文为junqinghuang 原创,转载请注明出处)

Open Toolbar