我正在尝试使用appium检查程序为使用appcelerator生成的应用程序获取Uielements的标识符
当我使用Appium检查器获取UIElements ID时,两个元素的结果类似于
app/admin
在这两种情况下,我都无法检索名称属性
Mi index.xml类似于:
name:
type: UIATextField
value:
label:
hint:
enabled: true
visible: true
valid: true
location: {73, 37.5}
size: {218, 15}
xpath: //UIAApplication[1]/UIAWindow[1]/UIATextField[1]
我应该使用哪个属性来识别UiElements? 我是否必须使用xpath来识别这些元素?
最好的问候
答案 0 :(得分:1)
我还没有找到一种在本机控件上专门设置id字段的方法。我希望那里的某个人知道一个可以做得更好的模块或东西,但在那之前,我就是这样做的。
我在Titanium的View类中有一个名为accessibilityLabel的字段,用于标识我的文本字段/按钮。在iOS中,Titanium会将本机控件的名称和标签属性设置为accessibilityLabel字段。然后,您只需使用XPath通过//*[@name='usernameField']
等查询找到它们。
Android的工作方式会略有不同,并会设置content-desc
字段并在其末尾添加.
,但查询仍然只有//*[@content-desc='usernameField.']
两个警告:如果设置了accessibilityLabel字段,iOS将开始隐藏XPath中的嵌套元素。因此,如果您在顶级View类上设置accessibilityLabel,您将无法查询其中的任何内容。另一个问题是我对iOS和Android中的辅助功能没有任何经验,这个解决方案肯定会影响您可能需要使用它们的任何计划。
希望这有帮助