• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

揭秘QTP的DeviceReplay对象

发布: 2008-6-05 10:07 | 作者: 陈能技 | 来源: CSDN | 查看: 380次 | 进入软件测试论坛讨论

领测软件测试网

DragAndDrop方法

描述

用于执行从一点拖动到另外一点的操作。

语法

object.DragAndDrop( dragX, dragY, dropX, dropY, Button )

参数

object Mercury.DeviceReplay对象。

dragX :起点坐标的X轴的值。

dragY :起点坐标的Y轴的值。

dropX :终点坐标的X轴的值。

dropY :终点坐标的Y轴的值。

Button :可能的值包括

        LEFT_MOUSE_BUTTON = 0

        MIDDLE_MOUSE_BUTTON = 1

        RIGHT_MOUSE_BUTTON = 2

返回值

无。

提示

可以组合使用MouseDownMouseMoveMouseUp方法。

MouseClick方法

描述

在指定的屏幕位置执行鼠标左键或右键的单击操作。

语法

object.MouseClick( x, y, Button )

参数

object Mercury.DeviceReplay对象。

x :屏幕坐标X轴的值。

y :屏幕坐标Y轴的值。

Button :可能的值包括

        LEFT_MOUSE_BUTTON = 0

        MIDDLE_MOUSE_BUTTON = 1

        RIGHT_MOUSE_BUTTON = 2

返回值

无。

例子

下面的例子在执行之前需要做一定的准备工作。例子的目的是在www.advancedqtp.com网站上执行DragAndDrop操作,如果在录制时执行拖拽操作,则不会被录制下来。因此这个例子是支持某些操作的例子。这个例子在IE环境下测试通过。

 

打开IE浏览器并导航到www.advancedqtp.com。这个例子会交换dbxhandle项,这些对象可以被拖拽以便满足个性化显示的要求。

QTP_DeviceReplay_1.JPG">

打开QTP(加载Web插件),新建一个测试,打开对象库(object repository)并添加浏览器中的页面对象到本地对象库(local object repository)中。

重命名对象

Option Explicit

Const LEFT_MOUSE_BUTTON = 0

Dim oWebElemDesc1, oWebElemDesc2

Dim oWebElem1, oWebElem2

Dim devRep

Dim nX1, nX2, nY1, nY2, nH1, nH2, hwnd

Dim point1, point2

' ** This class holds a point coordinate

Class Point

Private mX, mY

Property Let X( ByVal value )

mX = value

End Property

Property Get X()

X = mX

End Property

Property Let Y( ByVal value )

mY = value

End Property

Property Get Y()

Y = mY

End Property

End Class

' ** Retrieving the handle of the browser

hwnd = Browser("QTP").GetROProperty( "hwnd" )

Window( "hwnd:=" & hwnd ).Activate

' ** Create a description for 'Program Professionally'

Set oWebElemDesc1 = Description.Create()

oWebElemDesc1( "micclass" ).Value = "WebElement"

oWebElemDesc1( "html tag" ).Value = "H3"

oWebElemDesc1( "innertext" ).Value = "Program Professionally"

oWebElemDesc1( "class" ).Value = "dbx-handle dbx-handle-cursor"

' ** Create a description for 'Links'

Set oWebElementDesc2 = Description.Create()

oWebElemDesc2( "micclass" ).Value = "WebElement"

oWebElemDesc2( "html tag" ).Value = "H3"

oWebElemDesc2( "innertext" ).Value = "Links"

oWebElemDesc2( "class" ).Value = "dbx-handle dbx-handle-cursor"

' ** Searching for the elements

With Browser( "QTP" ).Page( "QTP" )

If .ChildObjects( oWebElemDesc1 ).Count = 1 Then

Set oWebElem1 = .WebElement( oWebElemDesc1 )

If .ChildObjects( oWebElemDesc2 ).Count = 1 Then

Set oWebElem2 = .WebElement( oWebElemDesc2 )

Else

Print "Web Element 'Program Professionally' was not found."

ExitTest( micFail )

End If

Else

Print "Web Element 'Program Professionally' was not found."

ExitTest( micFail )

End If

End With

' ** Retrieve elements dimensions

nX1 = oWebElem1.GetROProperty( "abs_x" )

nH1 = oWebElem1.GetROProperty( "height" )

nY1 = oWebElem1.GetROProperty( "abs_y" )

nX2 = oWebElem2.GetROProperty( "abs_x" )

nH2 = oWebElem2.GetROProperty( "height" )

nY2 = oWebElem2.GetROProperty( "abs_y" )

Set point1 = New Point

point1.X = nX1 + 10

point1.Y = nY1 + nH1 - 10

Set point2 = New Point

' ** Dragging up

If nY1 > nY2 Then

point2.X = nX2 + 20

point2.Y = nY2 + nH2 - 20

Else

' ** Dragging down

point2.X = nX2 + 20

point2.Y = nY2 + nH2 + 20

End If

Set devRep = CreateObject( "Mercury.DeviceReplay" )

devRep.DragAndDrop point1.X, point1.Y, _

point2.X, point2.Y, LEFT_MOUSE_BUTTON

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网