多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

QTP基本使用—检查焦点

更新时间:2022-05-20 09:15:50 作者:多测师 浏览:192

  今天看到一段检验焦点的代码, 特地研究 并分享出来。 希望共同分析。

QTP基本使用—检查焦点

  目的:利用Tab键来检查焦点的位置变化是否正确

  检查控件的focused属性的函数

  Public function CheckFocus (TestObject)

  If TestObject.CheckProperty("focused","True",2) Then

  CheckFocus = True

  Else

  CheckFocus = False

  End If

  End Function

  tab按键的键值

  Const VK_TAB = 15

  创建DeviceReplay 对象

  Set DeviceReplay = CreateObject("Mercury.DeviceReplay ")

  创建Dictionary 对象,这个和创建数组很类似

  Set dic = CreateObject("Scripting.Dictionary ")

  添加Dictionary的key和value,把顺序号作为key, 控件对象作为value

  dic.add "1",dialog("Login").WinEdit("Agent Name:")

  dic.add "2",dialog("Login").WinEdit("Password:")

  dic.add "3",dialog("Login").WinButton("OK")

  定位到程序窗口, 并判断窗口中的默认焦点是否在正确的位置

  Dialog("Login").Activate

  CheckFocus(dic.item("1"))

  For i=2 to dic.count

  DeviceReplay.PressKey VK_TAB '此处就是点击tab键,

  If CheckFocus(dic.item(CStr(i))) = False Then

  Exit for

  Else

  msgbox "焦点正确"

  End If

  Next

  PS: 首先要将对象Login加入到Object Repository. 然后在运行脚本即可 。

  1. 查看属性值的方法

  Msgbox Window("名片界面").WinObject("名片界面_一般_昵称").GetROProperty("text")

  Msgbox TypeName (Window("名片界面").WinObject("名片界面_一般_昵称").GetROProperty("text"))

  actual="xiaochong"

  Msgbox StrComp (Window("名片界面").WinObject("名片界面_一般_昵称").GetROProperty("text"),actual,1)

  Result:

  username 得到具体的text内容

  string 得到text的类型

  比较实际得到的和actual的差别

  2. 标准Windows控件的基本属性和方法

  1)使用Exist属性来判断空间是否存在

  可以通过访问控件的Exist属性来判断控件是否存在于当前打开的应用程序中。

  2)使用CheckProperty检查控件属性

  使用此方法可以实现与标准检查点想类似的功能。 例如。检查控件的属性是否与指定值相一致,如果一致,则在测试结果中标示为pass,否则标识为fail。

  其实现个功能与checkpoint实现的功能基本一致。

  3)使用GetROProperty获取控件的属性

  此方法用于返回测试对象的当前属性

  3. DeviceReplay可以实现鼠标点击桌面上任意指定的坐标,或者模拟点击键盘操作。

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

  如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. SetSynchronizationTimeout(nSyncTimeout , is_sec)

  nSyncTimeout:同步超时的时间值。

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

  以上内容为大家介绍了自动化测试中的QTP基本使用—检查焦点,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部