iOS UITests失败:IDETestOperationsObserverErrorDomain Code = 13

时间:2017-06-05 03:55:32

标签: ios xcode jenkins xcodebuild xcode-ui-testing

我正在从Jenkins构建脚本运行iOS应用程序的AppUITests。单元测试(AppTests)运行正常但AppUITests由于以下问题而失败。我该如何解决这个问题?

  

09:19:53.506 XCTRunner [22911:77924]无法进行背景测试跑步者   在30.0s内。 09:19:53.507 xcodebuild [22835:77541]    - [IDETestOperationCoordinator testRunnerSession:initializationForUITestingDidFailWithError:]   09:19:53.507 XCTRunner [22911:77924]呼叫完成。 09:19:53.507   xcodebuild [22835:77541]测试操作失败:无法进行后台操作   试验跑步者。 09:19:53.507 xcodebuild [22835:77541]   _finishWithError:错误域= IDETestOperationsObserverErrorDomain代码= 13“无法进行后台测试运行。”   UserInfo = {NSLocalizedDescription =无法进行后台测试跑步者。}   didCancel:1

1 个答案:

答案 0 :(得分:5)

我的应用中遇到了同样的问题。这是由启动时显示的权限警报引起的(在这种情况下为APN,但对于任何其他警报,它可能是相同的。)

重现步骤

  • 使用将在启动时显示权限提醒的应用
  • 确保模拟器清洁(为了显示警报)
  • 运行所有测试

结果

  • app启动,显示警报并运行(正常)测试就好了
  • 但是来到UITests时,模拟器将保持黑色,过了一会儿,它会因以下错误而失败:
  

错误域= IDETestOperationsObserverErrorDomain代码= 13"失败   背景测试跑步者。

解决方案

在正常测试之前运行UITests(只需更改10**x => edit scheme => Test中的顺序)

备注:

  • 也许您必须确保,UITests将使用Info XTest方法处理警报。否则,(正常)测试可能会以同样的方式失败(没有测试这种情况)。
  • 如果你真的不想先运行UITests,你可以添加一个额外的UITest目标,它首先运行,然后只处理警报。然后你应该可以运行(正常)测试,然后是你的UITests。

相关