无法在 iOS UI 测试的密码文本字段中输入文本

Unable to enter texts in passcode textfields for iOS UI testing

这是我在 Xcode 上 运行 UI 测试的代码:

     var target = UIATarget.localTarget();
     var app = target.frontMostApp();

     var window = app.mainWindow();

     //display the current screen 
     target.logElementTree();

     //set value as email address
     window.textFields()[0].setValue("test11@test.com");
     //set value in passcode 
     window.textFields()[1].setValue("1234");


     window.buttons()["SIGN IN"].tap();

应用程序界面如下所示:

对于行:

    Window.textFields()[0].setValue("1234");

显示:

    Unexpected error in -[UIATextField_0x7fc8ac0e360 setValue:],/SourceCache/UIAutomation_Sim/UIAutomation-430.2.1/Frameworks/UIElement.m.line 1088, kAXErrorCannotComplete

所以当脚本输入电子邮件地址而不是密码时它会起作用。我认为该应用程序检测到密码是由机器人而不是人类输入的。这就是它产生错误的原因?如果是这样,我该如何解决?

这是一个安全问题。

由于测试原因,只需取消选中带圆圈的框,然后问题就解决了!!

您可以在 Interface Builder 中选中 "Secure text field" 框,并使用 window.secureTextFields 而不是 window.textFields

来引用它