Cómo usar appium en dispositivos Android e iOS reales desde macOS | por David | abril de 2022
Se recomienda instalar cerveza para facilitar la instalación de diversas necesidades.
Instalar Cerveza casera (fabricación de cerveza)
Instalar JDK
poner JAVA_HOME y pequeño camino
Ejemplo de JDK8
La instalación de brew cask usa openjdk/openjdk/adoptopenjdk8
exportar JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
exportar RUTA=${JAVA_HOME}/bin:${RUTA}
Ejemlo JDK 11 Instalar Java 11 con Homebrew en macOS (OpenJDK: AdoptOpenJDK)
Se puede instalar desde el enlace de Android Studio o SDK independiente.
Establecer ANDROID_HOME:
exportar ANDROID_HOME=/usr/local/share/android-sdk
o
exportar ANDROID_HOME=/Usuarios/
/Biblioteca/Android/sdk
Instale el SDK de Android en la aplicación brew cask instalar android-sdk
creando un archivo toque /usuario/
Actualice el administrador de SDK $ ANDROID_HOME/tools/bin/sdkmanager
Use Android HOME para establecer la ruta a las herramientas y las herramientas de la plataforma
Instalar herramientas de plataforma brew cask instalar android-plataforma-herramientas
Variable ambiental
exportar RUTA=$RUTA:$ANDROID_HOME/simulador
exportar RUTA=$RUTA:$ANDROID_HOME/herramientas
exportar RUTA=$RUTA:$ANDROID_HOME/herramientas/bin
export PATH=$PATH:$ANDROID_HOME/plataforma-herramientas
exportarANDROID_SDK_ROOT=$ANDROID_SDK
exportar ANDROID_AVD_HOME=$HOME/.android/y
alias emulador=’$ANDROID_SDK/emulador/emulador’
Recuerde reiniciar o recargar la terminal (fuente) después de configurar la variable de entorno
brew instalar scrcpy entonces corre scrcpy
- Requiere cuenta de desarrollador, puede ser de pago o gratis
- Puedes consultar con el simulador, pero debes usar .app. Para verificar el archivo .ipa necesitas tener un dispositivo físico (iphone)
Deben existir las siguientes relaciones:
- iPhone y su sistema operativo iOS
- Laptops y su sistema operativo macOS
- código x
- apio
Dependiendo del sistema operativo de iPhone y portátil disponible, será la versión de xcode para descargar, aunque existen algunas alternativas que permiten usar una versión de xcode con una versión más nueva de ios https://medium.com/naukri-engineering/how-to -support -latest-ios-devices-with-older-xcode-versions-22c087b024e6
Instale Xcode para escritorio (desde un desarrollador web o una tienda de aplicaciones).
Instale la línea de comando de Xcode (descargue el .dmg o use el comando: xcode-seleccionar – instalar)
Instalar nodo: brew instalar npm
Instalar Cartago: preparar cerveza instalar cartago
Instale la línea de comandos de Appium: barril de cerveza instalar appium o Brew instalar appium
Instale Appium Doctor: npm install -g appium-médico
Instale la biblioteca para ios: brew install libimobiledevice — CABEZA
Instale el instalador del dispositivo: brew install — HEAD ideviceinstaller
Instale la fuente de alimentación: sudo xcode-select -s /Aplicaciones/Xcode.app/Contents/Developer
Biblioteca de implementación de iOS: npm install -g ios-deploy (requiere xcode)
Abra la terminal y vaya a la ubicación de la carpeta
cd /Aplicaciones/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
o
cd /Aplicaciones/Appium.app/Contents/Resources/app/node_modules/appium-webdriveragent
o
cd /Aplicaciones/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
Ejecute el comando en la terminal para descargar las dependencias que faltan:
mkdir -p recursos/WebDriverAgent.bundle
./Scripts/bootstrap.sh
Use Xcode para abrir el proyecto WebDriverAgent Runner presente en la instalación de Appium:
Abra WebDriverAgent.xcodeproj/
General > Iniciar sesión con cuenta de desarrollador
Cree un identificador de paquete de productos único y configúrelo en la configuración de compilación WebDriverAgentLib, WebDriverAgentRunner y aplicación integrada
Conecte su dispositivo iOS al crear el archivo de configuración; de lo contrario, la configuración fallará. Compile el proyecto y ejecute WebDriverAgentRunner-non debug a través de Producto > Prueba. Finalmente, puede verificar que todo funciona.
Después de conectar el dispositivo e iniciar el servidor de Appium, puede ocurrir que al intentar ejecutar la suite, la aplicación se desinstale e instale correctamente, pero se produzca un error al utilizar el Webdriver Agent. Para solucionarlo hacemos lo siguiente:
Usamos la terminal para ir a la ubicación de nuestro proyecto de configuración de WebdriverAgent:
Obtenga la serie appium 1.22.0:
cd /Aplicaciones/Appium\Server\ GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/
Una vez ejecutamos: change part
xcodebuild -proyecto WebDriverAgent.xcodeproj -esquema WebDriverAgentRunner -destino ‘id=
‘ prueba
Obtener el udid del dispositivo conectado ideviceinfo -k ID de dispositivo único
Si tiene éxito, obtendremos un resultado como este:
El conjunto de pruebas «todas las pruebas» comenzó en 2017-01-23 15:49:12.585
El conjunto de pruebas «WebDriverAgentRunner.xctest» comenzó el 2017-01-23 15:49:12.586
El conjunto de pruebas «UITestingUITests» comenzó el 2017-01-23 15:49:12.587
caso de prueba’-[UITestingUITests testRunner]’comienzo.
t = 0,00 s Comience la prueba el 2017-01-23 15:49:12.588
ajuste t = 0,00 s
Si no tiene éxito, vaya a Xcode para compilar Webdriver Agent lib, WebDriverAgent Runner, Aplicación de integración
Ejecute el siguiente comando en la consola:
Actualización de cerveza && Actualización de cerveza Cartago
Descarga de cerveza
desinstalación de cerveza: ignorar las dependencias libimobiledevice
desinstalación de brew: ignora la dependencia usbmuxd
instalación de cerveza – HEAD usbmuxd
preparar desvincular usbmuxd && preparar enlace usbmuxd
instalación de preparación —HEAD libimobiledevice
brew unlink libimobiledevice && brew enlace libimobiledevice
brew install — HEAD ideviceinstaller
brew unlink ideviceinstaller && brew link ideviceinstaller
brew unlink libimobiledevice && brew enlace libimobiledevice
Cada 7 días tenemos que volver a iniciar sesión en xcode para instalar la aplicación en ios, para el proceso:
- Eliminar la aplicación IntegrationApp del dispositivo
- Eliminar la aplicación WebDriverAgent del dispositivo
- abrir código x
Abra /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj/
- Cambie el Identificador de paquete de productos en Empaquetado a dos proyectos: IntegrationApp y WebDriverAgent.ejemplo
- Primero construya el WebDriverAgent y luego construya la IntegrationApp
- Luego autorice la firma en el teléfono
- Luego vuelve a compilar la IntegrationApp
Conecta tu iPhone a tu portátil
Tiempo rápido abierto
Seleccione «Grabación de nueva película»
Cambiar de cámara web a teléfono
El certificado de Apple debe ser Usar valores predeterminados del sistema Y certificado de desarrollo
cerrar llavero
Sierra xcode
Abra xcode para limpiar el caché (opción de comando shift k) y el contenido del directorio datos de entrega (preferencia, ubicación, flecha derecha ->)
construir una biblioteca
Muestre todo en firmas y características y unifique el equipo (para lanzamiento y depuración)
Cambiar el nombre del identificador de paquete
Preferencias -> Cuentas -> Administrar certificados
Hazlo:
– Cree la biblioteca de proxy del controlador web de la biblioteca
– también es necesario compilar webDriverAgentRunner
– Cree aplicaciones desintegradas
– 3 compilaciones certificadas por el mismo equipo y tienen el mismo ID de paquete: biblioteca de agente de controlador web, webDriverAgentRunner y aplicación integrada
información de maas
https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md
Instale una aplicación de Android en un dispositivo físico usando appium
{ «aplicación»: «/tmp/androidAPP.apk»,
«Nombre de la plataforma»: «Android»,
«nombre del dispositivo»: «android»,
«NoReset»: «Falso»,
«restablecimiento completo»: «verdadero»,
«automationName»: «Appium»}
Cree una sesión de appium con una aplicación de Android instalada
{«Nombre de la plataforma»: «Android»,
«nombre del dispositivo»: «android»,
«Nombre de la automatización»: «Appium»
«appPackage»: «com.aplicación»,
«appActivity»: «com.app.splash.SplashScreenActivity»,
«no restablecer»: cierto,
«restablecimiento completo»: falso,
«dontStopAppOnReset»: falso,
«inicio automático»: falso }
Instale la aplicación ios en el dispositivo físico usando appium
{ «nombreDeAutomatización»: «XCUITest»,
«nombre de la plataforma»: «iOS»,
«nombre del dispositivo»: «el nombre de su dispositivo»,
«udid»: «tu_dispositivo_id»,
«xcodeOrgId»: «su organización»,
«NoReset»: «Falso»,
«restablecimiento completo»: «verdadero»,
«platformVersion»: «su_versión_ios»,
«aplicación»: «/tmp/iosAPP.ipa»}
Cree una sesión de appium con la aplicación ios instalada
{ «nombreDeAutomatización»: «XCUITest»,
«nombre de la plataforma»: «iOS»,
«nombre del dispositivo»: «el nombre de su dispositivo»,
«udid»: «tu_dispositivo_id»,
«xcodeOrgId»: «su organización»,
«platformVersion»: «su_versión_ios»,
«WDABundleId actualizado»: «com.facebook.WebDriverAgentRunner»}
Puede usar los comandos de la biblioteca libimobiledevice.org para obtener información del dispositivo conectado (su_nombre_de_dispositivo, su_versión_de_ios, su_id_de_dispositivo)
ideviceinfo -k nombre del dispositivo
ideviceinfo -k Versión del producto
ideviceinfo -k ID de dispositivo único