发布新日志

  • Mercury.DeviceReplay对象 (转载)

    2008-12-30 16:08:54

    http://www.51testing.com/?161787/action_viewspace_itemid_84200.html

    转载

    鼠标点击桌面任意坐标的问题,顺便介绍下Mercury.DeviceReplay这个对象

    一朋友问到如何实现鼠标点击桌面上任意指定的坐标的问题,呵呵

    不复杂,呵呵

    可以两种方法实现:

    1、QTP采用低级别录制,然后坐标用随机数替代

    2、创建一个DeviceReplay对象进行操作

    Function Mouse_Click(x , y)

     Dim device
     Set device = CreateObject("Mercury.DeviceReplay")
     device.MouseMove x , y
     device.MouseClick x , y , LEFT_MOUSE_BUTTON
     
    End Function

    既然写了这个方法,顺便就介绍下Mercury.DeviceReplay这个对象,呵呵

    很实用的一个对象,不知道为啥QTP的帮助几乎就没有它的介绍

    这个对象用来模拟鼠标的单击和移动、键盘输入等,但有个前提,实用该对象前,需要保证键盘状态正确

    如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态

    Mercury.DeviceReplay包括如下方法:

    1、SendString方法

    向激活的窗口发送一个或多个键盘按键:object.SendString( str )

    2、KeyDown方法

    模拟一个按键的按下并保持:object.KeyDown( key )   key  按键的数值码

    3、KeyUp方法

    模拟通过键盘释放某个按下的按键:object.KeyUp( key )

    4、PressKey方法

    模拟通过键盘按下一个按键并立即释放:object.PressKey( key )

     

    5、PressNKeys方法

     

    模拟通过键盘多次按下一个按键并立即释放:object.PressNKey( key, N )  N:重复次数

     

    6、DragAndDrop方法

     

    用于执行从一点拖动到另外一点的操作:object.DragAndDrop( dragX, dragY, dropX, dropY, Button )

    Button 的值包括

    LEFT_MOUSE_BUTTON = 0

    MIDDLE_MOUSE_BUTTON = 1

     RIGHT_MOUSE_BUTTON = 2

     

    7、MouseClick方法

     

    在指定的屏幕位置执行鼠标左键或右键的单击操作:object.MouseClick( x, y, Button )

     

    8、MouseDbClick方法

     

    在指定的屏幕位置中执行鼠标左键或右键的双击事件:object.MouseDblClick( x, y, Button )

     

    9、MouseDown方法

     

    在屏幕指定位置按下鼠标左键或右键,并保持按下状态:object.MouseDown( x, y, Button )

     

    10、MouseUp方法

     

    用于释放之前执行的MouseDown方法所按下的鼠标按键:object.MouseDown( x, y, Button )

     

    11、MouseMove方法

     

    用于模拟鼠标移动:object.MouseMove( x, y)

     

    12、SetSynchronizationTimeout方法

     

    设置一个新的同步超时的时间值:object. SetSynchronizationTimeoutnSyncTimeout , is_sec

    nSyncTimeout  同步超时的时间值。

    is_sec  指定设置的时间值是否以秒为单位

  • QTP检查链接对象的两种方法(转载)

    2008-12-30 15:59:33

    QTP检查链接对象的两种方法

    QTP中,对于网页链接的测试可以使用Link对象,例如下面的脚本用于对链接的地址进行检查:

    '对链接的地址进行检查

    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Link("REGISTER").CheckProperty ("url",http://newtours.demoaut.com/mercuryregister.php)

    其中使用了CheckProperty方法,用于对比Link对象的URL属性是否等于指定的地址。也可以使用Link对象的Object属性中的href属性来进行比较,例如下面的代码所示:

    href = Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Link("REGISTER").Object.href

    '如果地址不正确,则报告错误

    If NOT href ="http://newtours.demoaut.com/mercuryregister.asp" Then

             Reporter.ReportEvent micFail,"Link Error",href

             ExitAction

    End If


  • QTP 判断一个浏览器是否已经打开(转载)

    2008-12-30 15:58:15

    Dim descBrowser
    Set descBrowser = Descrīption.Create()
    descBrowser("openurl").value = "http://www.google.cn/"

    Set child = desktop.ChildObjects(descBrowser)

    msgbox child.count()

    If child.count()=0 Then
        print "该网页没有被开启\"
    Else
        For i =1 to child.count()
             child(i-1).close
        Next
    End If
Open Toolbar