iPhone UI 测试 - 如何访问键盘上的删除键

Posted

技术标签:

【中文标题】iPhone UI 测试 - 如何访问键盘上的删除键【英文标题】:IPhone UI Testing - How to access delete key on keyboard 【发布时间】:2018-06-15 16:27:25 【问题描述】:

我目前正在测试一个文本字段。我可以选择所有文本,但随后弹出键盘,我想按键盘上的删除键删除所有文本。我该怎么做?

我目前拥有的:

[_app.menuItems[@"Select All"] tap];

我想要什么:

[_app.menuItems[@"Select All"] tap];
[_app.keyboard[@"delete"] tap]; // How do I do this?

【问题讨论】:

【参考方案1】:
let app = XCUIApplication()
let textField = app.textFields["myTextField"]
textField.tap()
textField.typeText(XCUIKeyboardKey.delete.rawValue)

【讨论】:

【参考方案2】:

您可以使用XCUIKeyboardKey.delete 发送删除按键。

let app = XCUIApplication()
let textField = app.textFields["myTextField"]
textField.tap()
textField.typeKey(XCUIKeyboardKey.delete, modifierFlags: [])

【讨论】:

typeKey 没有方法调用 textfield @Oletha 混淆是由于您提到的方法是仅 macOS 的方法,而问题是关于 ios。 Apple 的文档提到 typeKey:modifierFlags: 方法仅在此页面上为 macOS developer.apple.com/documentation/xctest/… 并且您可以在 XCUIElement.h 的标头中看到 #if TARGET_OS_OSX 在支持此方法的方法附近。【参考方案3】:

您可以使用 (swift) : yourTextField.typeText(XCUIKeyboardKeyDelete)

在 Obj-c 中: const XCUIKeyboardKey XCUIKeyboardKeyDelete;

看这里: https://developer.apple.com/documentation/xctest/xcuikeyboardkeydelete?language=objc

【讨论】:

以上是关于iPhone UI 测试 - 如何访问键盘上的删除键的主要内容,如果未能解决你的问题,请参考以下文章

iphone4s 模拟器上的 Swift UI 测试失败与其他模拟器配合得很好

如何检测键盘是不是显示在 Xcode UI 测试中

在 iPhone 的 UI 自动化测试中访问 JAVASCRIPT 变量

以编程方式设置 Xcode 模拟器、键盘和 Touch ID 设置,用于 UI 测试

如何让 iPhone 上的返回键使键盘消失?

如何设置iphone输入法颜色