XCUITest点击键盘Continue按钮测试中断跳转main.m问题咨询
该问题的常见触发原因如下:
- 键盘按钮标识符匹配错误
不同系统语言、不同键盘类型(比如URL输入场景的专用键盘)的回车键标识名存在差异,你使用的continue标识可能和当前实际显示的按钮标识不匹配,导致测试框架找不到对应元素触发异常终止。你可以先执行print(app.keyboards.buttons.debugDescription)打印当前键盘所有按钮的可访问标识,确认正确的按钮名后再调整调用参数。 - 应用业务逻辑存在未捕获异常
点击按钮后触发的页面跳转逻辑本身存在Crash,Xcode自动跳转至main.m是iOS应用发生未捕获的runtime异常时的默认表现,你可以查看Xcode左侧调试栏的崩溃调用栈,定位是应用本身哪部分跳转逻辑存在问题,和UI测试代码无关。 - 元素状态校验逻辑缺失
输入链接后按钮可能还未加载至可点击状态,你就执行了tap操作,会触发测试框架的元素不可用异常。你可以在点击前添加等待逻辑,示例代码如下:
let targetButton = app.keyboards.buttons["你的正确按钮标识"] // 最长等待3秒确认按钮存在 if targetButton.waitForExistence(timeout: 3) { targetButton.tap() }
- 键盘已提前失活收起
输入完成后如果有其它页面交互导致输入框失焦、键盘自动收起,此时调用app.keyboards.buttons会找不到对应元素导致测试终止。你可以在点击前先判断键盘是否处于显示状态,若已收起先点击输入框唤起键盘后再执行点击操作。
内容的提问来源于stack exchange,提问作者Anton
相关产品推荐
相关产品推荐

