You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode UITest选中元素时被测应用意外退出问题求助

Xcode UI测试查询特定元素时应用崩溃退出(Error Code=10001)

问题详情

测试应用某一特定页面时,执行以下代码访问按钮元素:

let button = app.buttons["Example"]

执行后被测应用意外退出,UI测试抛出报错:

testFirstOrderForNewUser(): Failed to Error Domain=com.apple.dt.xctest.ui-testing.error Code=10001 "Application com.myapp.debug is not running" UserInfo={NSLocalizedDescription=Application com.myapp.debug is not running}: Application com.myapp.debug is not running

相关补充情况:

  • 问题仅出现在应用内部分特定页面和元素上
  • 使用测试录制功能可正常与目标元素交互,但无法生成UI查询代码,同时Xcode会出现报错弹窗或卡顿转圈
  • 环境:Xcode 14.3.1
  • 已尝试向应用UIWindow添加元素排查视图层级问题,未解决

可能的排查方向与解决方案

  • 检查元素Accessibility配置:用Xcode的Accessibility Inspector查看目标按钮的属性,确认accessibilityIdentifier为"Example"且无重复,同时排查父视图是否存在Accessibility相关的异常设置,错误的Accessibility配置可能导致XCTest查询时触发应用崩溃。
  • 监控应用内存状态:启动Instruments的Leaks工具,配合UI测试运行,观察查询元素前后的内存变化,排查是否存在内存泄漏、野指针等问题导致应用崩溃。
  • 延迟等待元素加载:避免页面未完全渲染就执行查询,改用waitForExistence方法等待元素出现:
    let button = app.buttons["Example"]
    XCTAssertTrue(button.waitForExistence(timeout: 5))
    
  • 降级Xcode版本测试:Xcode 14.3.1可能存在UI测试相关的版本bug,尝试切换到Xcode 14.3或14.2版本,验证问题是否消失。
  • 检查测试权限配置:确认测试目标的Info.plist中已添加页面涉及的所有必要权限描述(如日历、相册等权限),权限缺失可能导致应用交互时崩溃。
  • 重置测试环境:删除模拟器上的应用数据,重启Xcode与模拟器,清除缓存类的环境异常。

内容的提问来源于stack exchange,提问作者Morkrom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:13:07