如何使用appium检查器为使用appcelerator生成的应用程序获取Uielements的标识符

时间:2016-07-20 16:32:16

标签: titanium appcelerator titanium-mobile titanium-alloy appcelerator-titanium

我正在尝试使用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来识别这些元素?

最好的问候

1 个答案:

答案 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中的辅助功能没有任何经验,这个解决方案肯定会影响您可能需要使用它们的任何计划。

希望这有帮助