按键精灵ios脚本新增元素功能助力辅助工具开发(二)
元素节点功能(iOSElement)
在按键精灵 iOS 新版 APP v2.2.0 中,新增了元素节点功能 iOSElement,该功能包含共 15 个函数。这一功能的出现,为开发者在处理 iOS 应用界面元素时提供了更为精准和高效的方式。通过这些函数,开发者能够更加便捷地定位、操作应用中的各种元素,从而实现更复杂的自动化任务。例如,在自动化测试场景中,可以利用 iOSElement 函数快速找到特定的按钮、文本框等元素,并模拟用户的点击、输入等操作,大大提高测试效率。
下面介绍下5个函数信息:iOSElement.FindParent、iOSElement.FindSibling、iOSElement.SetText、iOSElement.Click、iOSElement.ScrollToOffset
函数名称
iOSElement.FindParent 获取指定元素的父元素
功能
获取指定元素的父元素信息的键值表
语法
result = iOSElement.FindParent(subElement)
代码范例
Dim result, subelement
RunApp "com.apple.Preferences"
Delay 1000
subElement = {"id": "PSTableCell"}
result = iOSElement.Find(subElement)
If result["code"] = 0 Then
result = iOSElement.FindParent(result["data"])
If result["code"] = 0 Then
TracePrint Encode.TableToJson(result["data"])
Else
TracePrint result["msg"]
End If
Else
TracePrint result["msg"]
End If
函数名称
iOSElement.FindSibling 获取指定元素的所有同层级元素
功能
获取指定元素的所有同层级元素信息的键值表
语法
result = iOSElement.FindSibling(element,selector)
代码范例
Dim result, selector
RunApp "com.apple.Preferences"
Delay 1000
selector = {"id": "PSTableCell"}
result = iOSElement.Find(selector)
If result["code"] = 0 Then
// 获取当前层级的所有兄弟节点
result = iOSElement.FindSibling(result["data"])
If result["code"] = 0 Then
For i = 1 To Len(result["data"])
TracePrint Encode.TableToJson(result["data"][i])
Next
Else
TracePrint result["msg"]
End If
// 查找指定条件的兄弟节点
result = iOSElement.FindSibling(result["data"], {"text":"隐私", "type":"UITableViewLabel"})
If result["code"] = 0 Then
For i = 1 To Len(result["data"])
TracePrint Encode.TableToJson(result["data"][i])
Next
Else
TracePrint result["msg"]
End If
Else
TracePrint result["msg"]
End If
函数名称
iOSElement.SetText 设置指定输入框元素的内容
功能
设置指定输入框元素的内容,支持完整目标元素节点或者元素查找条件,如查找到多个元素则只操作第一个元素
语法
result = iOSElement.SetText(element, text, isClear)
代码范例
Dim result, selector
RunApp "com.apple.Preferences"
Delay 1000
selector = {"id": "UISearchBarTextField"}
result = iOSElement.Find(selector)
If result["code"] = 0 Then
result = iOSElement.SetText(result["data"], "通用")
If result["code"] = 0 Then
TracePrint "输入成功"
Else
TracePrint result["msg"]
End If
Else
TracePrint result["msg"]
End If
函数名称
iOSElement.Click 点击指定的元素节点
功能
点击指定的元素节点,支持完整目标元素节点或者元素查找条件,如查找到多个元素则只操作第一个元素
语法
result = iOSElement.Click(element)
代码范例
Dim result, selector
RunApp "com.apple.Preferences"
Delay 1000
selector = {"text": "通用"}
result = iOSElement.Find(selector)
If result["code"] = 0 Then
result = iOSElement.Click(result["data"])
If result["code"] = 0 Then
TracePrint "点击成功"
Else
TracePrint result["msg"]
End If
Else
TracePrint result["msg"]
End If
函数名称
iOSElement.ScrollToOffset 将可滚动视图元素滚动到指定的方位
功能
将可滚动视图元素滚动到指定的方位
语法
result = iOSElement.ScrollToOffset(selector,x,y,animated)
代码范例
Dim result, selector
RunApp "com.apple.Preferences"
Delay 1000
selector = {"id": "UITableView"}
result = iOSElement.ScrollToOffset(selector, 0, 1000)
If result["code"] = 0 Then
TracePrint "滚动成功"
Else
TracePrint result["msg"]
End If