Xcode 9 - Xcode构建错误 - UI 测试未 运行,等待 AX 加载通知超时
Xcode 9 - Xcodebuild error - UI tests not running, Timed out waiting for AX loaded notification
我的测试没有开始执行,每次我尝试使用 xcodebuild 命令时总是超时。
我使用的命令如下:
xcodebuild -workspace App.xcworkspace -scheme 'AppName' -sdk iphonesimulator -configuration 'UI_Automation' CODE_SIGN_STYLE='Manual' CODE_SIGN_IDENTITY='iPhone Developer: John Smith (XXXXXXXX)' PROVISIONING_PROFILE_SPECIFIER='John Smith PP Name' DEVELOPMENT_TEAM='ABC Company Apple DEV' -destination 'platform=iOS Simulator,name=iPhone 8,OS=11.2' -destination-timeout 600 -only-testing:AppUITests clean test
它经历了构建应用程序的过程,但随后测试并未开始执行。事实上,模拟器甚至没有启动,我得到以下错误。
Testing failed:
Timed out waiting for AX loaded notification If you believe this error represents a bug, please attach the log file at /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/com.apple.dt.XCTest/IDETestRunSession-60333F56-66CA-4C34-8460-3846DCF59C14/AppUITests-F74C4FDD-17EE-44AD-A2BA-DDB1BC0A1D7E/Session-AppUITests-2017-12-28_150211-qwlao1.log
有谁知道如何解决这个问题?在过去的 2 周里,我一直在为此绞尽脑汁,但无法弄清楚。
xcode 自 xcode 9 以来构建命令已更改。因此您必须更改构建命令。
按照上述步骤操作:
首先构建项目。构建应用程序的命令是
xcodebuild build-for-testing -workspace "Your.xcworkspace" -scheme "UpgradeAll" -destination "platform=iOS Simulator,name=iPad Air,OS=11.0" -derivedDataPath "All"
然后使用这个执行测试命令。
xcodebuild test-without-building -xctestrun "All/Build/Products/UpgradeAll_iphonesimulator11.0-x86_64.xctestrun" -destination "platform=iOS Simulator,name=iPad Air,OS=11.0" '-only-testing:YourTestbundleName' -derivedDataPath 'build/reports/bundleName' | tee xcodebuild.log | ios-sim start --devicetypeid "iPad-Air, 11.0"
我在尝试通过 jenkins 运行 我的 UI 测试时遇到此错误。我所做的是:
将 Jenkins 设置为启动代理而不是守护进程。 (更多信息在这里 https://medium.com/@ved.pandey/setting-up-jenkins-on-mac-osx-50d8fe16df9f)
在系统偏好设置 -> 用户和组 -> Jenkins 用户 -> 'Allow user to administer this computer'.
下授予 jenkins 用户管理员权限
重新启动了我的 Mac Mini,UI 测试现在可以工作了。
我的测试没有开始执行,每次我尝试使用 xcodebuild 命令时总是超时。
我使用的命令如下:
xcodebuild -workspace App.xcworkspace -scheme 'AppName' -sdk iphonesimulator -configuration 'UI_Automation' CODE_SIGN_STYLE='Manual' CODE_SIGN_IDENTITY='iPhone Developer: John Smith (XXXXXXXX)' PROVISIONING_PROFILE_SPECIFIER='John Smith PP Name' DEVELOPMENT_TEAM='ABC Company Apple DEV' -destination 'platform=iOS Simulator,name=iPhone 8,OS=11.2' -destination-timeout 600 -only-testing:AppUITests clean test
它经历了构建应用程序的过程,但随后测试并未开始执行。事实上,模拟器甚至没有启动,我得到以下错误。
Testing failed:
Timed out waiting for AX loaded notification If you believe this error represents a bug, please attach the log file at /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/com.apple.dt.XCTest/IDETestRunSession-60333F56-66CA-4C34-8460-3846DCF59C14/AppUITests-F74C4FDD-17EE-44AD-A2BA-DDB1BC0A1D7E/Session-AppUITests-2017-12-28_150211-qwlao1.log
有谁知道如何解决这个问题?在过去的 2 周里,我一直在为此绞尽脑汁,但无法弄清楚。
xcode 自 xcode 9 以来构建命令已更改。因此您必须更改构建命令。
按照上述步骤操作:
首先构建项目。构建应用程序的命令是
xcodebuild build-for-testing -workspace "Your.xcworkspace" -scheme "UpgradeAll" -destination "platform=iOS Simulator,name=iPad Air,OS=11.0" -derivedDataPath "All"
然后使用这个执行测试命令。
xcodebuild test-without-building -xctestrun "All/Build/Products/UpgradeAll_iphonesimulator11.0-x86_64.xctestrun" -destination "platform=iOS Simulator,name=iPad Air,OS=11.0" '-only-testing:YourTestbundleName' -derivedDataPath 'build/reports/bundleName' | tee xcodebuild.log | ios-sim start --devicetypeid "iPad-Air, 11.0"
我在尝试通过 jenkins 运行 我的 UI 测试时遇到此错误。我所做的是:
将 Jenkins 设置为启动代理而不是守护进程。 (更多信息在这里 https://medium.com/@ved.pandey/setting-up-jenkins-on-mac-osx-50d8fe16df9f)
在系统偏好设置 -> 用户和组 -> Jenkins 用户 -> 'Allow user to administer this computer'.
下授予 jenkins 用户管理员权限
重新启动了我的 Mac Mini,UI 测试现在可以工作了。