无法在 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
来引用它
这是我在 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