Tk便捷API
注意: Tk便捷API仅适用于Squish for Tk版本。
Tk便捷函数参数
Tk的一些便利函数可以接受一个modifierState
参数,该参数指示鼠标点击时按下了哪些特殊键,以及一个button
参数,该参数指示按下了哪个鼠标按钮。
modifierState
用于指示是否按下了Control、Shift等键。该值以整数形式传递,通常是0(表示没有按任何键)。具体使用哪个数字取决于底层Tk实现—请查看X.h文件中的ControlMask
、ShiftMask
等,或向froglogic支持请求帮助。
button
用于指示按下了哪个鼠标按钮。通常的值是1(左键)、2(中键)和3(右键)—但这些值在不同的系统之间可能会有所不同。
Tk便利函数
以下是一些快速链接到Tk便利API函数的位置
activateItem(objectName, itemText)
activateItem(objectName, itemText, itemImageName)
activateItem(objectName, itemText, itemImageName, itemFileName)
此函数激活在指定itemText
的objectName
菜单、上下文菜单或菜单栏中的菜单项。
作为替代,可以通过其itemImageName
(即AUT(自动化工具)内部为菜单项生成的图像名称)来识别项目,在这种情况下,可以将相应的文本或空字符串传递给itemText
。类似地,可以通过其itemFileName
(即菜单项图像的文件名)来识别项目,在这种情况下,可以将相应的文本或空字符串传递给itemText
和itemImageName
。
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"
;对于其他视图,它是相关项的文本。
将该点击操作执行在位置x
和y
(在itemText
项的坐标中),使用指定的button
和modifierState
修饰状态。
有关modifierState
和button
参数的有效值的详细信息,请参阅Tk便利函数参数。
closeWindow(objectName)
此函数关闭《objectName
》窗口。
doubleClick(objectName, x, y, modifierState, button)
此函数在《objectName
》部件的位置《x
》和《y
》(在《objectName
》部件的坐标系中)双击鼠标,使用指定的《button
》按钮和《modifierState
》修饰符。
有关modifierState
和button
参数的有效值的详细信息,请参阅Tk便利函数参数。
doubleClickItem(objectName, itemText, x, y, modifierState, button)
此函数在给定的《objectName
》视图部件内部的双击具有指定《itemText
》文本的项。在《x
》和《y
》的位置(在《itemText
》项的坐标系中)单击,使用指定的《button
》按钮和《modifierState
》修饰符状态。
有关modifierState
和button
参数的有效值的详细信息,请参阅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
》修饰符状态。
有关modifierState
和button
参数的有效值的详细信息,请参阅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)
此函数执行拖放操作。拖动从给定相对坐标sourcex
和sourcey
的sourceObjectName
小部件开始。被拖动的对象将放置在给定相对坐标targetx
和targety
的targetObjectName
小部件上。
uninstallEventHandler(eventName, handlerFunctionNameOrReference)
此功能卸载之前使用installEventHandler(eventName, handlerFunctionNameOrReference)安装的事件处理程序。
©2024 The Qt Company Ltd. 本文档贡献的文档版权属于各自的所有者。
提供的文档根据自由软件基金会发布的GNU自由文档许可协议第1.3版的条款进行授权。
Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家/地区的商标。所有其他商标均属于其各自所有者。