元素节点功能(iOSElement)
在按键精灵 iOS 新版 APP v2.2.0 中,新增了元素节点功能 iOSElement,该功能包含共 15 个函数。这一功能的出现,为开发者在处理 iOS 应用界面元素时提供了更为精准和高效的方式。通过这些函数,开发者能够更加便捷地定位、操作应用中的各种元素,从而实现更复杂的自动化任务。例如,在自动化测试场景中,可以利用 iOSElement 函数快速找到特定的按钮、文本框等元素,并模拟用户的点击、输入等操作,大大提高测试效率。
下面介绍下5个函数信息:iOSElement.Source、iOSElement.Find、iOSElement.Finds、iOSElement.FindChild、iOSElement.FindChildren
函数名称
iOSElement.Source 获取整个元素节点信息
功能
获取返回包含整个页面元素节点信息的键值表
语法
result = iOSElement.Source()
代码例子:
Dim result
result = iOSElement.Source()
If result"code" = 0 Then
TracePrint Encode.TableToJson(result"data")
Else
TracePrint result"msg"
End If
函数名称
iOSElement.Find 查找并返回第一个符合条件的元素
功能
查找并返回第一个符合条件的元素信息的键值表
语法
result = iOSElement.Find(selector, isRegex)
代码范例
Dim result, selector
RunApp "com.apple.Preferences"
Delay 1000
selector = {"text": "通用"}
result = iOSElement.Find(selector)
If result"code" = 0 Then
TracePrint Encode.TableToJson(result"data")
Else
TracePrint result"msg"
End If
// 使用正则匹配模糊查找
selector = {"text": "通.+"}
result = iOSElement.Find(selector, true)
If result"code" = 0 Then
TracePrint Encode.TableToJson(result"data")
Else
TracePrint result"msg"
End If
函数名称
iOSElement.Finds 查找并返回所有符合条件的元素
功能
查找并返回所有符合条件的元素信息的键值表
语法
result = iOSElement.Finds(selector, isRegex)
代码范例
Dim result, selector
RunApp "com.apple.Preferences"
Delay 1000
selector = {"id": "UITableViewCellContentView"}
result = iOSElement.Finds(selector)
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
// 使用正则匹配模糊查找
selector = {"text": "通.+", "id": "UITableViewLabel"}
result = iOSElement.Finds(selector, true)
If result"code" = 0 Then
For i = 1 To Len(result"data")
TracePrint result"data"i"text"
Next
Else
TracePrint result"msg"
End If
函数名称
iOSElement.FindChild 在指定的父元素下查找并返回第一个符合条件的元素
功能
在指定的父元素下查找并返回第一个符合条件的元素信息键值表
语法
result = iOSElement.FindChild(parent, selector, isRegex)
代码范例
Dim result, parent, selector
RunApp "com.apple.Preferences"
Delay 1000
parent = {"id": "UITableViewCellContentView"}
selector = {"id":"UITableViewLabel"}
result = iOSElement.Find(parent)
If result"code" = 0 Then
result = iOSElement.FindChild(result"data", selector)
If result"code" = 0 Then
TracePrint Encode.TableToJson(result"data")
Else
TracePrint result"msg"
End If
Else
TracePrint result"msg"
End If
// 使用正则匹配模糊查找
parent = {"index": 55}
selector = {"text":"\\\\u4e00-\\\\u9fa5"} '匹配中文
result = iOSElement.Find(parent)
If result"code" = 0 Then
result = iOSElement.FindChild(result"data", selector, true)
If result"code" = 0 Then
TracePrint Encode.TableToJson(result"data")
Else
TracePrint result"msg"
End If
Else
TracePrint result"msg"
End If
函数名称
iOSElement.FindChildren 在指定的父元素下查找并返回所有符合条件的元素
功能
在指定的父元素下查找并返回所有符合条件的元素信息的键值表
语法
result =iOSElement.FindChildren(parent, selector, isRegex)
代码范例
Dim result, parent, selector
RunApp "com.apple.Preferences"
Delay 1000
parent = {"id": "UITableView"}
selector = {"id": "PSTableCell"}
result = iOSElement.Find(parent)
If result"code" = 0 Then
result = iOSElement.FindChildren(result"data", selector)
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
// 使用正则匹配模糊查找
parent = {"id": "UITableView"}
selector = {"text":"\\\\u4e00-\\\\u9fa5", "id": "UITableViewLabel"} '匹配中文
result = iOSElement.Find(parent)
If result"code" = 0 Then
result = iOSElement.FindChildren(result"data", selector, true)
If result"code" = 0 Then
For i = 1 To Len(result"data")
TracePrint result"data"i"text"
Next
Else
TracePrint result"msg"
End If
Else
TracePrint result"msg"
End If