iOS便利API
注意: iOS便利API仅适用于Squish for iOS版本。
注意: Squish 文档中使用术语 widget 来指代 GUI 对象。macOS 开发者可能更熟悉这个概念的术语 view。
以下是 iOS 便利 API 函数的一些快速链接
clearWebObjectCache()
此函数清除 WebView 中对象层次名称的缓存。在网页应用在与交互后移除网页的一些元素,然后使用之前相同的层次名称应该找到不同的对象的情况下,这可能很有用。在这种情况下不清除缓存,则在网站更改内容后搜索层次名称时将从缓存中检索旧对象。然而,缓存对于保持深层层次名称查找的高性能和可扩展性是必要的。
clickObject(objectOrName)
clickObject(objectOrName, x, y)
此函数与 tapObject(objectOrName) 相同。它保留以与旧脚本兼容,但新录制使用 tapObject(objectOrName) 代替。
doubleClick(objectOrName)
doubleClick(objectOrName, x, y)
此函数与 doubleTap(objectOrName) 相同。它保留以与旧脚本兼容。
doubleTap(objectOrName)
doubleTap(objectOrName, x, y)
此函数在指定的 objectOrName 对象上执行双击。
默认情况下,将双击 objectOrName 对象的中心,但可以通过传递相对对象坐标 x 和 y 来自定义此操作。
gesture(objectOrName, touches)
此函数播放手势。指定的 objectOrName 可以指代任何可见且仅用于同步的对象。
指定的 touches 指的是 GestureBuilder 对象,可以通过 readGesture(gesture-file) 检索。
hideKeyboard()
此函数可以隐藏正在显示的屏幕键盘。
installEventHandler(eventName, handlerFunctionName)
此函数安装全局事件处理器。名为 handlerFunctionName 的脚本函数(必须作为字符串传递,而不是作为函数引用,除非是 Python,它也支持传递函数引用),在发生 eventName 类型的事件时将被调用。
eventName 可以是以下任何事件类型的名称
- "Crash" – 如果 AUT 崩溃时发生
- "AlertOpened" – 当显示警报时发生
当发生 AlertOpened 事件时,将调用名为 handlerFunctionName 的函数。该函数传递一个参数——打开的警报对象(即类型为 UIAlertView 的对象)。
注意: 在Python脚本中,您可以通过传递实际函数或lambda函数来指定要调用的回调函数。
有关示例,请参阅如何使用事件处理器。
注意: `installEventHandler` 函数仅在它被调用后AUT(应用程序)已经启动时才会工作。例如,可以通过使用ApplicationContext startApplication(autName) 函数来启动应用程序。
readGesture(gesture-file)
此函数从测试套件目录中打开一个手势文件,并返回一个GestureBuilder对象。然后可以将此对象传递给gesture(objectOrName, touches)。指定的gesture-file指向文件名。
selectPickerRowInComponent(objectOrName, row, componentIndex)
此函数在指定的objectOrName UIPickerView对象中选择一个项(选择器控件是一个旋转菜单,用户可以选择如日期这样的东西)。
row是要选择的行的基于0的索引位置。而componentIndex是包含该行的组件(或列)的基于0的索引位置。
tapObject(objectOrName)
tapObject(objectOrName, x, y)
此函数在指定的objectOrName小部件上进行点击。
默认情况下,在objectOrName小部件中间点击,但可以通过传递对象相对坐标x和y来覆盖默认行为。
touchAndDrag(objectOrName, x, y, dx, dy)
这个函数执行一个拖动手势(也称为滚动手势)。从位于相对于objectOrName小部件的x和y位置开始,向右移动dx像素(如果是负数,则向左),并且向下移动dy像素(如果是负数,则向上)。
touchAndHold(objectOrName, duration)
touchAndHold(objectOrName, x, y, duration)
此函数在指定的objectOrName小部件上执行一个点击并保持手势。触摸时间为duration秒(如果您想指定小于一秒的部分,请使用浮点数)。
默认情况下,在objectOrName小部件中间接触,但可以通过传递对象相对坐标x和y来覆盖默认行为。
type(objectOrName, text)
此函数将指定的text(就像用户是在使用屏幕键盘输入文本一样)输入到objectOrName可编辑小部件中。如果文本被尖括号<><>>包围,它会被解释为特殊键,例如 "<Return>"。输入区分大小写,所以 type(object, "R") 和 type(object, "r") 是不同的。
当前支持以下特殊键
- "<Return>" – 屏幕键盘上的回车键(根据配置,它不一定被标记为“Return”——它可能被称为“完成”、“搜索”或其他名称,具体取决于使用的
UIReturnKeyType) - "<Backspace>" – 回退键;用于删除光标左侧的字符
uninstallEventHandler(eventName, handlerFunctionName)
此函数卸载使用 installEventHandler(eventName, handlerFunctionName) 之前安装的事件处理程序。
GestureBuilder
此类型对象存储重放 gesture(objectOrName, touches) 所需的触摸笔迹信息。此类的一个实例由 readGesture(gesture-file) 返回。笔迹由屏幕坐标点、压力和触摸大小定义。
有关如何使用 GestureBuilder 对象操作手势信息的示例,请参阅 如何使用GestureBuilder类。
int GestureBuilder.areaWidth
定义此手势的区域宽度。这将是设备或模拟器的屏幕宽度。
int GestureBuilder.areaHeight
定义此手势的区域高度。这将是设备或模拟器的屏幕高度。
所有列在 GestureBuilder 中的 Gesture creation 和 Gesture manipulation 部分,都返回 GestureBuilder 对象本身,除非指定不同。
Gesture creation
本节列出了手动创建 GestureBuilder 对象的方法。
GestureBuilder(width, height, unit)
GestureBuilder(xml)
两个创建 GestureBuilder 对象的构造函数。宽度和高度是目标屏幕大小。单位可以是 1 或 2,分别表示毫米或逻辑点。也可以使用常量 GestureBuilder.MilliMeter 和 GestureBuilder.LogicalPoint。
第二个构造函数通过传递包含 XML 的字符串来构建 GestureBuilder 对象,该 XML 应与记录的手势文件格式相同。
Object GestureBuilder.addStroke(x, y)
Object GestureBuilder.addStroke(startTime, x, y)
开始一个新笔迹。一个手指或笔从接触屏幕到释放屏幕的整个移动称为一笔迹。触摸下坐标是 (x, y)。对于非第一笔迹,可以使用 startTime 参数指定以毫秒为单位的时间偏移量。笔迹在时间上不能断续,整个手势过程中至少要有一个手指或笔放在屏幕上。最大同时触摸数取决于设备。
Object GestureBuilder.curveTo(duration, controlX, controlY, endX, endy)
Object GestureBuilder.curveTo(duration, control1X, control1Y, control2X, control2Y, endX, endy)
在指定时间的毫秒数内向最新添加的笔迹中添加贝塞尔曲线移动。曲线从最后一次添加的运动的终点坐标开始,如果没有添加到笔迹中,从笔迹的接触点坐标开始。终点坐标由endX和endY指定。可以使用一个或两个所谓的控制点。
Object GestureBuilder.lineTo(duration, endX, endy)
在指定时间的毫秒数内向最新添加的笔迹中添加直线移动。直线从最后一次添加的运动的终点坐标开始,如果没有添加到笔迹中,从笔迹的接触点坐标开始。终点坐标由endX和endY指定。
Object GestureBuilder.build()
从添加的笔迹和运动创建手势。调用此方法后,不能再添加笔迹或运动。
手势操作
Object GestureBuilder.accelerate(factor)
根据一个系数更改墨迹速度。系数在0.0到1.0之间会减慢手势,大于1.0则会加速。
Object GestureBuilder.rotate(degrees)
Object GestureBuilder.rotate(degrees, originX, originY)
旋转墨迹。参数degrees表示逆时针方向的度数。参数originX和originY定义旋转操作的起点。如果省略,以区域中心点为起点。
Object GestureBuilder.scale(scale)
Object GestureBuilder.scale(scaleX, scaleY)
Object GestureBuilder.scale(scaleX, scaleY, originX, originY)
更改墨迹的大小。参数scaleX是水平方向的缩放系数,scaleY是垂直方向的缩放系数。originX和originY定义缩放操作的起点。如果省略,则以区域中心点为起点。如果同时省略scaleY,则在两个方向上进行均匀缩放。
Object GestureBuilder.translate(x, y)
移动墨迹。参数x和y指定移动方向。参数x的正值将墨迹向右移动,参数y的正值将墨迹向下移动。
©2024 Qt公司有限。此处包含的文档贡献属于其各自所有者。
此处提供的文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款进行授权。
Qt和相应的标志是芬兰以及全球其他国家的Qt公司的商标。所有其他商标均为其各自所有者的财产。