Tk便捷API

注意: Tk便捷API仅适用于Squish for Tk版本。

Tk便捷函数参数

Tk的一些便利函数可以接受一个modifierState参数,该参数指示鼠标点击时按下了哪些特殊键,以及一个button参数,该参数指示按下了哪个鼠标按钮。

modifierState用于指示是否按下了Control、Shift等键。该值以整数形式传递,通常是0(表示没有按任何键)。具体使用哪个数字取决于底层Tk实现—请查看X.h文件中的ControlMaskShiftMask等,或向froglogic支持请求帮助。

button用于指示按下了哪个鼠标按钮。通常的值是1(左键)、2(中键)和3(右键)—但这些值在不同的系统之间可能会有所不同。

Tk便利函数

以下是一些快速链接到Tk便利API函数的位置

activateItem(objectName, itemText)

activateItem(objectName, itemText, itemImageName)

activateItem(objectName, itemText, itemImageName, itemFileName)

此函数激活在指定itemTextobjectName菜单、上下文菜单或菜单栏中的菜单项。

作为替代,可以通过其itemImageName(即AUT(自动化工具)内部为菜单项生成的图像名称)来识别项目,在这种情况下,可以将相应的文本或空字符串传递给itemText。类似地,可以通过其itemFileName(即菜单项图像的文件名)来识别项目,在这种情况下,可以将相应的文本或空字符串传递给itemTextitemImageName

asyncClickItem(objectName, itemIdentifier, x, y, modifierState, button)

此功能与正常的clickItem(objectName, itemIdentifier, x, y, modifierState, button)函数类似,但可以避免在点击触发打开模态对话框的情况下挂起测试执行。模态对话框通常阻止模仿点击的最后一步,这导致正常的clickItem(objectName, itemIdentifier, x, y, modifierState, button)函数不在对话框关闭之前返回。为了避免这种情况,点击的模拟稍微延迟,函数在模拟完成之前立即返回。这对测试脚本没有明显影响。

有关参数及其用法,请参阅正常的clickItem(objectName, itemIdentifier, x, y, modifierState, button)函数。

asyncDoubleClickItem(objectName, itemIdentifier, x, y, modifierState, button)

此函数的功能与常规的双击项(objectName, itemText, x, y, modifierState, button)函数类似,但在双击触发打开模态对话框的情况下可以避免测试执行挂起。模态对话框通常会在模拟点击的最后一步被阻塞,这导致常规的双击项(objectName, itemText, x, y, modifierState, button)函数不能返回,直到对话框被关闭。为了避免这种情况,点击模拟稍作延迟,函数在模拟完成前立即返回。这不会对测试脚本产生明显的效果。

有关参数及其使用的详细信息,请参阅常规的双击项(objectName, itemText, x, y, modifierState, button)函数。

asyncMouseClick(objectName, x, y, modifierState, button)

此函数的功能与常规的鼠标点击鼠标点击(objectName, x, y, modifierState, button)函数类似,但在点击触发打开模态对话框的情况下可以避免测试执行挂起。模态对话框通常会在模拟点击的最后一步被阻塞,这导致常规的鼠标点击鼠标点击(objectName, x, y, modifierState, button)函数不能返回,直到对话框被关闭。为了避免这种情况,点击模拟稍作延迟,函数在模拟完成前立即返回。这不会对测试脚本产生明显的效果。

有关参数及其使用的详细信息,请参阅常规的鼠标点击鼠标点击(objectName, x, y, modifierState, button)函数。

asyncType(objectName, text)

此函数的功能与常规的键入键入(objectName, text)函数类似,但在文本输入触发打开模态对话框的情况下可以避免测试执行挂起。模态对话框通常会在模拟文本输入的最后一步被阻塞,这导致常规的键入键入(objectName, text)函数不能返回,直到对话框被关闭。为了避免这种情况,文本输入模拟稍作延迟,函数在模拟完成前立即返回。这不会对测试脚本产生明显的效果。

有关参数及其使用的详细信息,请参阅常规的键入键入(objectName, text)函数。

clickButton(objectName)

此函数点击objectName按钮。

clickItem(objectName, itemIdentifier, x, y, modifierState, button)

此函数在给定的objectName视图小部件内部点击带有指定itemIdentifier的项。此函数通常用于访问列表、表格和树等视图中的项。对于表格,itemIdentifier是一个格式为row/column的字符串,例如,"4/21";对于其他视图,它是相关项的文本。

将该点击操作执行在位置xy(在itemText项的坐标中),使用指定的buttonmodifierState修饰状态。

有关modifierStatebutton参数的有效值的详细信息,请参阅Tk便利函数参数

closeWindow(objectName)

此函数关闭《objectName》窗口。

doubleClick(objectName, x, y, modifierState, button)

此函数在《objectName》部件的位置《x》和《y》(在《objectName》部件的坐标系中)双击鼠标,使用指定的《button》按钮和《modifierState》修饰符。

有关modifierStatebutton参数的有效值的详细信息,请参阅Tk便利函数参数

doubleClickItem(objectName, itemText, x, y, modifierState, button)

此函数在给定的《objectName》视图部件内部的双击具有指定《itemText》文本的项。在《x》和《y》的位置(在《itemText》项的坐标系中)单击,使用指定的《button》按钮和《modifierState》修饰符状态。

有关modifierStatebutton参数的有效值的详细信息,请参阅Tk便利函数参数

installEventHandler(eventName, handlerFunctionNameOrReference)

此函数安装一个全局事件处理器。当发生《eventName》类型的事件时,将调用名为或引用《handlerFunctionNameOrReference》的脚本函数。

eventName》可以是以下任意事件类型之一的名称

  • "Crash" – 如果AUT崩溃
  • "Timeout" – 当Squish响应超时时

命名在《handlerFunctionName》中(必须以字符串形式传递,而不是作为函数引用,除非Python支持传递函数引用)的函数带有单个参数调用 —— 事件发生时的对象。

有关示例,请参阅如何使用事件处理器

注意:只有当自动测试应用程序(AUT)已启动后调用《installEventHandler》函数,该函数才会工作。例如,通过使用ApplicationContext startApplication(autName)函数。

mouseClick(objectName, x, y, modifierState, button)

此函数在指定的《objectName》部件上单击鼠标。在《x》和《y》的位置(在《objectName》部件的坐标系中)进行单击,使用指定的《button》按钮和《modifierState》修饰符状态。

有关modifierStatebutton参数的有效值的详细信息,请参阅Tk便利函数参数

scrollTo(objectName, position)

此函数将《objectName》部件滚动到给定的《position》。《position》是一个绝对值(即像素偏移)。

sendEvent(eventName, objectOrName, ...)

此函数将类型为《eventName》的事件发送到《objectOrName》部件。所有其他参数(《...》)传递给事件构造器——它们通常坐标、按钮状态等。

eventName》可以是以下任何一种

  • "ButtonEvent"
  • "KeyEvent"
  • "MotionEvent"

String tcleval(code)

此函数在AUT的Tcl解释器中评估给定的《code》并返回结果。(有关示例,请参阅如何使用tcleval。)

type(objectName, text)

type(objectName, text, modifierState)

此功能将指定的text(如用户使用键盘)输入到objectName可编辑的小部件中。如果文本被括号《》包围,则将其解释为键组合,例如"<Ctrl+Return>"。输入是区分大小写的,所以键入对象 "R" 键入对象 "r" 不同。(有关支持的特殊键的列表,请参阅nativeType(keys)函数的文档。)

modifierState是可选的,默认为0(没有按修饰键)。有关哪个值适用于modifierState,请参阅Tk便利函数参数

dragAndDrop(sourceObjectName, sourcex, sourcey, targetObjectName, targetx, targety)

此函数执行拖放操作。拖动从给定相对坐标sourcexsourceysourceObjectName小部件开始。被拖动的对象将放置在给定相对坐标targetxtargetytargetObjectName小部件上。

uninstallEventHandler(eventName, handlerFunctionNameOrReference)

此功能卸载之前使用installEventHandler(eventName, handlerFunctionNameOrReference)安装的事件处理程序。

©2024 The Qt Company Ltd. 本文档贡献的文档版权属于各自的所有者。
提供的文档根据自由软件基金会发布的GNU自由文档许可协议第1.3版的条款进行授权。
Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家/地区的商标。所有其他商标均属于其各自所有者。