我在为我的应用程序编写的自动化脚本中收到此错误。以下是我的剧本:
var testName = "Test 1";
var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();
window.textFields()[0].setValue("Hello");
在第5行,我得到“无法对无效元素执行操作:来自target.frontMostApp()的UIAElementNil。mainWindow()。textFields()[0]”。
可能是上述错误的原因
答案 0 :(得分:1)
这是因为textFields()[0]为零。
mainWindow方法返回一个窗口,textFields()应该在UIViewController的视图中。
答案 1 :(得分:0)
正如FenixAdar已经说过的那样,问题是您希望通过不存在的层次结构链访问textfield元素。
要获取用户界面元素的真实层次结构,可以在有问题的行之前插入命令target.logElementTree();
。使用此命令的输出,您将能够猜出正确的表达式。
但更简单的是在填写此文本字段时检查Instuments并检查生成的代码。