应用测试 - "Sdk 9.3 was not in the list of simctl sdks"
Appium test - "Sdk 9.3 was not in the list of simctl sdks"
我是一个 linux devops 人,被迫做苹果的事情,我对所有事情都很迷茫......
我正在尝试 运行 一个 iPad 应用程序的测试套件,但我不断收到此错误:“[XCUITest] 错误:Sdk '9.3' 不在 simctl sdks 列表中”。我知道这是一个缺失的依赖项,我可能需要安装这个 Sdk 9.3,但我真的不知道该怎么做,而且 google 根本没有帮助。
这是日志跟踪:
[11:01:58][Step 2/3] [Appium] Creating new XCUITestDriver session
[11:01:58][Step 2/3] [Appium] Capabilities:
[11:01:58][Step 2/3] [Appium] app: '/Volumes/BuildData/teamcity/buildAgent/work/c715626955d98290/.qa_atom/REDACTED.app'
[11:01:58][Step 2/3] [Appium] orientation: 'LANDSCAPE'
[11:01:58][Step 2/3] [Appium] noReset: false
[11:01:58][Step 2/3] [Appium] newCommandTimeout: 9000
[11:01:58][Step 2/3] [Appium] realDeviceLogger: '/Users/REDACTED/projects'
[11:01:58][Step 2/3] [Appium] platformVersion: '9.3'
[11:01:58][Step 2/3] [Appium] automationName: 'XCUITEST'
[11:01:58][Step 2/3] [Appium] platformName: 'iOS'
[11:01:58][Step 2/3] [Appium] deviceName: 'iPad Air 2'
[11:01:58][Step 2/3] [Appium] fullReset: false
[11:01:58][Step 2/3] [Appium] nativeWebTap: true
[11:01:58][Step 2/3] [debug] [XCUITest] XCUITestDriver version: 2.3.0
[11:01:58][Step 2/3] [BaseDriver] Session created with session id: e9d0a596-854e-4dbd-997c-5d12d517e4c8
[11:01:58][Step 2/3] [debug] [XCUITest] Xcode version set to '8.0'
[11:01:59][Step 2/3] [debug] [XCUITest] iOS SDK Version set to '10.0'
[11:02:00][Step 2/3] [XCUITest] Error: Sdk '9.3' was not in list of simctl sdks
[11:02:00][Step 2/3] at getDevices$ (lib/simctl.js:179:13)
[11:02:00][Step 2/3] at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[11:02:00][Step 2/3] at run (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:108:47)
[11:02:00][Step 2/3] at /usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:119:28
[11:02:00][Step 2/3] at flush (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/$.microtask.js:19:5)
[11:02:00][Step 2/3] at nextTickCallbackWith0Args (node.js:452:9)
[11:02:00][Step 2/3] at process._tickCallback (node.js:381:13)
[11:02:00][Step 2/3] [Error: Sdk '9.3' was not in list of simctl sdks]
[11:02:00][Step 2/3] [debug] [XCUITest] Running iOS simulator reset flow
[11:02:00][Step 2/3] [MJSONWP] Encountered internal error running command: Error: Sdk '9.3' was not in list of simctl sdks
[11:02:00][Step 2/3] at getDevices$ (lib/simctl.js:179:13)
[11:02:00][Step 2/3] at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[11:02:00][Step 2/3] at run (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:108:47)
[11:02:00][Step 2/3] at /usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:119:28
[11:02:00][Step 2/3] at flush (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/$.microtask.js:19:5)
[11:02:00][Step 2/3] at nextTickCallbackWith0Args (node.js:452:9)
[11:02:00][Step 2/3] at process._tickCallback (node.js:381:13)
我觉得很简单,打开Xcode,然后跳进偏好设置,用老OS下载模拟器。 Xcode 8 与 ios 10 有关。Xcode 7.3.x 与 ios 9.3
有关
您可能还需要检查您的 appium 配置,以确保您不需要告诉它使用 10.0 而不是 9.3。一个简单的 grep 你的回购协议应该可以帮助你找到
另一个解决方案是从 https://developer.apple.com/download/ 的 Apple 下载 xcode 7.3.1
然后,一旦你安装它,请确保你从你的终端执行 xcode select,如:
xcode-select -switch /path/to/new/Xcode.app/Contents/Developer/
那么当你重新 运行 你的测试时它应该会找到旧版本
转到 Xcode>>首选项>>组件>>iOS 10 模拟器(或任何所需版本)。现在点击 'Check and install'。这会将选定的 iOS 版本添加到您的 simctl SDK 列表中。
我是一个 linux devops 人,被迫做苹果的事情,我对所有事情都很迷茫......
我正在尝试 运行 一个 iPad 应用程序的测试套件,但我不断收到此错误:“[XCUITest] 错误:Sdk '9.3' 不在 simctl sdks 列表中”。我知道这是一个缺失的依赖项,我可能需要安装这个 Sdk 9.3,但我真的不知道该怎么做,而且 google 根本没有帮助。
这是日志跟踪:
[11:01:58][Step 2/3] [Appium] Creating new XCUITestDriver session
[11:01:58][Step 2/3] [Appium] Capabilities:
[11:01:58][Step 2/3] [Appium] app: '/Volumes/BuildData/teamcity/buildAgent/work/c715626955d98290/.qa_atom/REDACTED.app'
[11:01:58][Step 2/3] [Appium] orientation: 'LANDSCAPE'
[11:01:58][Step 2/3] [Appium] noReset: false
[11:01:58][Step 2/3] [Appium] newCommandTimeout: 9000
[11:01:58][Step 2/3] [Appium] realDeviceLogger: '/Users/REDACTED/projects'
[11:01:58][Step 2/3] [Appium] platformVersion: '9.3'
[11:01:58][Step 2/3] [Appium] automationName: 'XCUITEST'
[11:01:58][Step 2/3] [Appium] platformName: 'iOS'
[11:01:58][Step 2/3] [Appium] deviceName: 'iPad Air 2'
[11:01:58][Step 2/3] [Appium] fullReset: false
[11:01:58][Step 2/3] [Appium] nativeWebTap: true
[11:01:58][Step 2/3] [debug] [XCUITest] XCUITestDriver version: 2.3.0
[11:01:58][Step 2/3] [BaseDriver] Session created with session id: e9d0a596-854e-4dbd-997c-5d12d517e4c8
[11:01:58][Step 2/3] [debug] [XCUITest] Xcode version set to '8.0'
[11:01:59][Step 2/3] [debug] [XCUITest] iOS SDK Version set to '10.0'
[11:02:00][Step 2/3] [XCUITest] Error: Sdk '9.3' was not in list of simctl sdks
[11:02:00][Step 2/3] at getDevices$ (lib/simctl.js:179:13)
[11:02:00][Step 2/3] at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[11:02:00][Step 2/3] at run (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:108:47)
[11:02:00][Step 2/3] at /usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:119:28
[11:02:00][Step 2/3] at flush (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/$.microtask.js:19:5)
[11:02:00][Step 2/3] at nextTickCallbackWith0Args (node.js:452:9)
[11:02:00][Step 2/3] at process._tickCallback (node.js:381:13)
[11:02:00][Step 2/3] [Error: Sdk '9.3' was not in list of simctl sdks]
[11:02:00][Step 2/3] [debug] [XCUITest] Running iOS simulator reset flow
[11:02:00][Step 2/3] [MJSONWP] Encountered internal error running command: Error: Sdk '9.3' was not in list of simctl sdks
[11:02:00][Step 2/3] at getDevices$ (lib/simctl.js:179:13)
[11:02:00][Step 2/3] at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
[11:02:00][Step 2/3] at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[11:02:00][Step 2/3] at run (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:108:47)
[11:02:00][Step 2/3] at /usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/es6.promise.js:119:28
[11:02:00][Step 2/3] at flush (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/$.microtask.js:19:5)
[11:02:00][Step 2/3] at nextTickCallbackWith0Args (node.js:452:9)
[11:02:00][Step 2/3] at process._tickCallback (node.js:381:13)
我觉得很简单,打开Xcode,然后跳进偏好设置,用老OS下载模拟器。 Xcode 8 与 ios 10 有关。Xcode 7.3.x 与 ios 9.3
有关您可能还需要检查您的 appium 配置,以确保您不需要告诉它使用 10.0 而不是 9.3。一个简单的 grep 你的回购协议应该可以帮助你找到
另一个解决方案是从 https://developer.apple.com/download/ 的 Apple 下载 xcode 7.3.1 然后,一旦你安装它,请确保你从你的终端执行 xcode select,如:
xcode-select -switch /path/to/new/Xcode.app/Contents/Developer/
那么当你重新 运行 你的测试时它应该会找到旧版本
转到 Xcode>>首选项>>组件>>iOS 10 模拟器(或任何所需版本)。现在点击 'Check and install'。这会将选定的 iOS 版本添加到您的 simctl SDK 列表中。