Soy un tipo de Linux DevOps que se ve obligado a hacer cosas de Apple y estoy muy perdido en todo ...

Estoy intentando ejecutar un conjunto de pruebas para una aplicación de iPad y sigo recibiendo este error: "[XCUITest] Error: Sdk '9.3' no estaba en la lista de sdks simctl". Sé que falta una dependencia, probablemente necesite instalar este Sdk 9.3, pero realmente no tengo idea de cómo hacerlo y Google no me está ayudando en absoluto.

Aquí está el seguimiento del registro:

[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)
1
user1072692 14 dic. 2016 a las 19:27

2 respuestas

La mejor respuesta

Creo que es tan simple como abrir Xcode y luego saltar a las preferencias para descargar el simulador con el sistema operativo más antiguo. Xcode 8 se relaciona con ios 10. Xcode 7.3.x se relaciona con ios 9.3

Es posible que también deba verificar las configuraciones de su appium para asegurarse de que no solo necesita decirle que use 10.0 en lugar de 9.3. Un simple grep en su repositorio debería ayudarlo a encontrar eso

Otra solución sería descargar xcode 7.3.1 de Apple en https://developer.apple.com/download/ Luego, una vez que lo instale, asegúrese de hacer una selección de xcode desde su terminal como:

xcode-select -switch /path/to/new/Xcode.app/Contents/Developer/

Entonces debería encontrar la versión anterior cuando vuelva a ejecutar su prueba

1
plosco 20 dic. 2016 a las 23:36

Vaya a Xcode >> Preferencias >> Componentes >> Simulador de iOS 10 (o cualquier versión requerida). Haga clic en "Comprobar e instalar" ahora. Esto agrega la versión de iOS seleccionada a su lista de sus SDK simctl.

1
user7123229user7123229 2 oct. 2017 a las 12:50