iOS - UI自动化通过可访问性标签获取文本字段



所以在我的nib文件中,我启用了可访问性并将文本字段的可访问性标签设置为"txt"我正试图找到这个基于可访问性名称的文本文件,并更改其文本。

var target = UIATarget.localTarget();
var application = target.frontMostApp(); 
var mainWindow = application.mainWindow();
mainWindow.logElementTree();
// This works
var textField = mainWindow.textFields()[0];
//this doesn't work
var textField = mainWindow.textFields()["txt"];
textField.setValue("Hello");

我做错了什么吗?如何查找基于可访问性标签的标签?

编辑:

我是开放的其他解决方案,以及,我试图避免得到基于索引的文本字段

我有一个类似的问题,在代码中设置可访问性标签值而不是在nib文件中解决我的问题。例如,我有一个UITextField,我需要在我的UIAutomation脚本中访问,我必须在viewDidLoad方法中设置可访问性标签值,如下所示。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    testTxtField.accessibilityLabel = @"myTxtBox";
}

和下面是我的UIAutomation脚本

var target = UIATarget.localTarget();
var application = target.frontMostApp(); 
var mainWindow = application.mainWindow();
mainWindow.logElementTree();
// This works
//var textField = mainWindow.textFields()[0];
// Now, this work too.
var textField = mainWindow.textFields()["myTxtBox"];
textField.setValue("Hello");
UIALogger.logMessage("Text field:" + textField.label());

最新更新