Javascript 自定义控件上的iOS自动脚本无法正常工作
我正在使用自动化脚本,并试图访问视图上的控件。此控件继承自UIControl并用作按钮 我设置此属性是为了访问组件: 因此,在这一点上,我希望通过脚本自动点击按钮:Javascript 自定义控件上的iOS自动脚本无法正常工作,javascript,ios,automation,custom-controls,Javascript,Ios,Automation,Custom Controls,我正在使用自动化脚本,并试图访问视图上的控件。此控件继承自UIControl并用作按钮 我设置此属性是为了访问组件: 因此,在这一点上,我希望通过脚本自动点击按钮: var target = UIATarget.localTarget(); var app = target.frontMostApp(); var window = app.mainWindow(); window.scrollViews()[0].buttons()["ButtonLogin"].tap(); 但事实并非如此
var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();
window.scrollViews()[0].buttons()["ButtonLogin"].tap();
但事实并非如此,因为它没有找到ButtonLogin。
按下该控件的唯一方法是通过静态文本:
window.scrollViews()[0].staticTexts()["Log in"].tap();
但不幸的是,这对我不起作用,因为我可以使用不同的语言,因此登录文本可能会改变
我需要一个通用的方法来获得控制权。对于普通按钮和文本字段,它可以正确地为可访问性设置标识符,如上图所示,但在这种情况下似乎不起作用
我还尝试了:
window.scrollViews()[0].elements()["ButtonLogin"].tap();
没有成功
谢谢
更新:
最后,我解决了对视图层次结构中索引的引用问题:
window.scrollViews()[0].staticTexts()[0].tap();
但无论如何,我想使用可访问性,因为视图层次结构可能会发生变化。请查看。基本上,您应该使用accessibilityIdentifier属性