带有“清除按钮”的 UI 自动化清除文本字段
Posted
技术标签:
【中文标题】带有“清除按钮”的 UI 自动化清除文本字段【英文标题】:UI automation clear textfield with the "Clear button" 【发布时间】:2015-11-06 09:11:02 【问题描述】:UIAutomation 中有没有一种方法可以点击文本字段的“清除文本”按钮?您可以为其添加一个可访问性标识符,还是已经有一个?
此时我只能点击键盘的删除按钮或将文本字段替换为空字符串。但我希望能够点击文本字段中显示的明文按钮。
已经在this问题的评论中找到了一些东西:
textField.buttons["清除文本"].tap()
但这似乎对我不起作用:“找不到此按钮的匹配项”
【问题讨论】:
你检查过这个吗? jojitsoriano.wordpress.com/2011/06/27/… 我做了,但本文使用的是 UIAElement 对象,而我使用的是 XCUIElement。认为后者是 UI 测试的更新版本。 【参考方案1】:您需要先点击文本字段,以便按钮可见:
let textField = app.textFields["Fanta"] // or however you're matching it
textField.tap()
textField.buttons["Clear text"].tap()
这对我来说是一个最小的例子。
【讨论】:
【参考方案2】:试试这个,对你有帮助:
- (void)textFieldDidBeginEditing:(UITextField *)textField
textField.text = @"";
【讨论】:
感谢您的回答,但我不想改变我的应用程序的行为。我正在执行 UI 测试,因此我想模仿客户的确切行为。 你可以 tapWithOptions(offset:x:textfield.width - 25, y:textfield.height/2) 吗?以上是关于带有“清除按钮”的 UI 自动化清除文本字段的主要内容,如果未能解决你的问题,请参考以下文章