51 preguntas de la entrevista de Appium (¡la mayoría de los principiantes no saben!)

En este tutorial, analizaremos las 50 preguntas y respuestas principales de las entrevistas de Appium. Le ayudará a prepararse para la entrevista y romperla.

Dividiremos las preguntas y respuestas en tres partes:

Preguntas básicas de la entrevista de Appium

¿Qué es Appium?

Respuesta: Appium es un marco de prueba de interfaz de usuario móvil de código abierto distribuido libremente.

¿Qué tipos de aplicaciones podemos automatizar con Appium?

Respuesta: Appium admite aplicaciones nativas, aplicaciones híbridas y vistas web.

¿Enumere las habilidades de Appium?

Respuesta: Para obtener esta respuesta, consulte este Enlace.

Indique los requisitos previos para utilizar Appium.

Respuesta: Necesitamos las siguientes herramientas / jar / complementos para trabajar con Appium

  1. JDK
  2. Estudio ANDROID
  3. IntelliJ / Eclipse
  4. Complemento o dependencia de TestNG si usa Maven
  5. Cliente java de Appium

¿Mencione las desventajas o limitaciones de Appium?

Respuesta: Como todas las herramientas, Appium también tiene ciertas limitaciones. Por favor marque la respuesta esta página.

¿Qué son las aplicaciones nativas?

Respuesta: Por favor marque la respuesta de esta página.

¿Qué son las aplicaciones híbridas?

Respuesta: Por favor marque la respuesta de esta página

¿Qué entiendes por M-Web o aplicaciones web móviles?

Respuesta: Por favor marque la respuesta de esta página.

¿Cuáles son los idiomas admitidos en Appium?

Respuesta: Appium permite a los clientes interactuar con Appium en función de las sesiones. Los clientes envían solicitudes de sesión como una forma de POST y pasan las capacidades deseadas como parámetro. Hay varios clientes como Java, JavaScript, PHP, Ruby, Python y C #.

Mencione las ventajas o beneficios de usar Appium.

Respuesta: La respuesta es la misma que la pregunta 3. Encontrará la respuesta esta página

¿Enumere el marco de pruebas unitarias y de automatización compatible con Appium?

Respuesta: Podemos usar todo tipo de marcos de prueba con Appium. Por ejemplo, unidad java, java PruebaNG, NUnit, etc. como marco de pruebas unitarias. La prueba de Appium implementa el Controlador web de selenio para interactuar con dispositivos Android o iOS.

¿Mencione las limitaciones o desventajas de Appium?

Respuesta: La respuesta es la misma que la pregunta 5. Encontrará la respuesta esta página

¿Cómo se pueden verificar elementos en la aplicación de iOS?

Respuesta: Para la aplicación iOS, podemos verificar los elementos usando Appium inspector. Es una excelente herramienta para identificar la identificación de los elementos, XPath, etc. También puede realizar acciones del usuario.

¿Qué es el inspector de Appium?

Respuesta: El inspector de Appium está acostumbrado a inspeccionar DOM para encontrar los elementos tanto en Android como en iOS. Podemos registrar las acciones que realizamos en el inspector. Puede generar los scripts en diferentes lenguajes como Java / JUnit, python, etc. Para obtener una guía completa sobre el inspector de Appium, Por favor haga clic aquí.

¿Cómo inspeccionar el elemento DOM o XPath para la aplicación móvil?

Respuesta: Puede encontrar el elemento DOM o XPath de varias formas. O puede usar “UIAuteviewer / UIAutomateviewer2”, o puede usar Appium inspector para Android. Para iOS, puede utilizar Appium inspector. Para aprender a inspeccionar el elemento, consulte este liga.

¿Cuál es la diferencia entre simulador y emulador?

Respuesta: Tanto el emulador como el simulador son dispositivos visuales. El emulador es un dispositivo virtual para Android y el simulador es un dispositivo virtual para iOS lanzado desde Xcode.

¿Cuánto tiempo tarda Appium en automatizar una prueba?

Respuesta: Depende del escenario que esté probando. Si está verificando varios flujos en un solo método, es probable que lleve más tiempo. Pero siempre es mejor hacer que los casos de prueba sean precisos y sencillos para que, si ocurre algún problema entre su ejecución, pueda tener el mecanismo de recuperación.

¿Cuándo debemos usar Appium?

Respuesta: Appium admite aplicaciones web móviles nativas y aplicaciones híbridas. Es compatible con pruebas multiplataforma. Si se está ejecutando en Android o iOS y desea verificarlo, puede usar Appium.

¿Cuál es el mejor enfoque durante las pruebas en dispositivos reales o emuladores / simuladores?

Respuesta: Nuevamente, esto depende de sus escenarios de prueba, comportamientos de la aplicación. Si es una aplicación sencilla, puede probar tanto en dispositivos reales como en simuladores / emuladores. Pero si su aplicación tiene una lógica compleja, siempre es mejor optar por dispositivos reales. Generalmente, deberíamos usarlos para automatizar porque, en última instancia, es el usuario final el que va a utilizar estas aplicaciones. Los dispositivos reales también tienen problemas al conectarse a la computadora durante mucho tiempo. Las conexiones ADB se pierden y mostrarán dispositivos no conectados, lo que fallará en sus casos de prueba.

¿Cómo identificar objetos de navegador móvil o M-Web usando Appium?

Respuesta: UserAgent se puede utilizar para identificar objetos en un navegador móvil o M-Web. Le proporciona una forma de modificar el navegador mediante el uso de un proxy móvil para resolver el problema.
O podemos usar ChromeCasting para la identificación de objetos en un navegador móvil. Con Chromecast, se puede establecer la conexión de su dispositivo móvil al sistema y luego puede inspeccionar elementos en el dispositivo móvil desde el sistema de fundición de Chrome.

¿Qué enfoque tomar para identificar el objeto único en Appium mientras el mismo nombre de clase tiene varios objetos?

Respuesta: driver.findElements (By.className) da las listas de elementos. Una vez que obtenemos las listas, necesitamos recorrer los índices para manejar los elementos de forma única con el mismo nombre de clase.

¿Realizar la comparación entre Appium y Selenium?

Respuesta: Como sabemos, el selenio es una herramienta de código abierto. Ayuda a automatizar la aplicación web. Por otro lado, Appium también es una herramienta de código abierto. Se utiliza para automatizar aplicaciones móviles (nativas, híbridas, aplicaciones web). Appium implementa Selenium Webdriver para interactuar con los dispositivos.

¿Cómo ocultar el teclado en Appium?

como ocultar el teclado
Preguntas de la entrevista de Appium: Cómo ocultar el teclado

¿Cuáles son las capacidades deseadas que se requieren para Android?

capacidades deseadas para android
Preguntas de la entrevista de Appium: capacidades deseadas para Android

¿Cuáles son las capacidades deseadas necesarias para iOS?

capacidades deseadas para iOS
Preguntas de la entrevista de Appium: capacidades deseadas para iOS

Preguntas de la entrevista intermedia de Appium

¿Qué es el intercambio de datos cuando realiza pruebas en dispositivos móviles?

Respuesta: El intercambio de datos en Appium intercambia los datos alojados por objetos complejos que en realidad se almacenan en diferentes componentes de la aplicación basada en vista web. Un ejemplo puede ser el objeto ventana.

¿Cuáles son los errores a los que se enfrenta en Appium?

Respuesta:

  • "Se necesitan las siguientes capacidades deseadas, pero no se proporcionan: Nombre de dispositivo, nombre de plataformaError".
  • “No se pudo encontrar adb. Establezca la variable de entorno ANDROID_HOME con el directorio raíz del SDK de Android pathError ".
  • "Openqa.selenium.SessionNotCreatedException: No se pudo crear una nueva sesión. Error".

¿Cuáles son las condiciones para escribir pruebas de Appium?

A escribir una prueba de Appium, debemos seguir los siguientes puntos:

Cliente de Appium: Este es un cliente de Appium escrito en un idioma diferente que se conecta al servidor de Appium. Por ejemplo, cliente de Appium Java. 

Sesión de Appium: Appium interactúa con dispositivos móviles en función de las sesiones. Necesitamos crear una sesión con la ayuda del cliente de Appium. 

Capacidades deseadas: Las capacidades deseadas son como parámetros que pasamos al crear la sesión. Ayuda al servidor de Appium a identificar los dispositivos de forma única.

Comando del conductor: El comando del controlador no es más que las acciones del usuario que realizamos en los dispositivos. Por ejemplo, haga clic en () o sendKeys ().

¿Cómo se pueden verificar los elementos en la aplicación nativa de Android?

Respuesta: Puede utilizar "UIAuteviewer / UIAutomateviewer2", o puede utilizar Appium inspector para Android.

¿Cómo desplazarse hacia abajo en una aplicación?

cómo desplazarse hacia abajo
Preguntas de la entrevista de Appium: cómo desplazarse hacia abajo

¿Es posible iniciar el servidor de Appium mediante programación?

Respuesta: Sí, podemos iniciar mediante programación la sesión del servidor de Appium. Como Appium usa node.js, podemos crear un archivo .bat (para Windows) o un archivo / comando de shell (Linux / Mac) para iniciar el servidor de Appium pasando el puerto de arranque, la IP del concentrador y el puerto.

¿Cómo deslizar hacia la izquierda en Appium?

cómo deslizar hacia la izquierda
Preguntas de la entrevista de Appium: cómo deslizar hacia la izquierda

¿Cómo deslizar hacia la derecha en Appium?

cómo deslizar hacia la derecha
Preguntas de la entrevista de Appium: cómo deslizar el dedo hacia la derecha

¿Es posible ejecutar una prueba en paralelo / multiproceso en Appium?

Respuesta: Sí, podemos ejecutar pruebas en el entorno multiproceso, pero la condición es asegurarse de que no se debe utilizar el mismo servidor de Appium para paralelizar las dos pruebas.

¿Mencione el enfoque de pruebas paralelas en IOS usando Appium?

Respuesta: Appium ha ofrecido una opción para ejecutar pruebas de iOS en paralelo desde Xcode versión 9 y superior. Hay un par de requisitos previos que debemos seguir.

  1. "UDID" debe ser único.
  2. "WdaLocalPort" debe ser único
  3. La raíz derivadaDataPath debe ser única para cada instancia de controlador. 
  4. Sauce Labs ofrece la opción de ejecutar pruebas de iOS en paralelo. Tenemos que cargar nuestra prueba de Appium en los laboratorios de salsa. Después de eso, se ejecutará en múltiples pruebas de iOS en paralelo.

¿Cómo deslizar hacia arriba en Appium?

cómo deslizar hacia arriba
Preguntas de la entrevista de Appium: cómo deslizar hacia arriba

¿Cómo deslizar hacia abajo en Appium?

cómo deslizar hacia abajo
Preguntas de la entrevista de Appium: cómo deslizar hacia abajo

Preguntas avanzadas de la entrevista de Appium

¿Cuáles son los comandos de selenio que funcionan con Appium?

Respuesta: Implementos de apio Selenio WebDriver. Es por eso que casi todos los WebDriver los comandos funcionan con Appium. A continuación se mencionan algunos ejemplos:

  • Hacer clic() comando para hacer clic / tocar el botón / enlaces.
  • sendKeys () comando para enviar el valor.
  • Es compatible con los comandos de scripts de Java.
  • Maneja alertas.
  • Puede cambiar entre el contexto en las vistas web.

¿Cuáles son las ventajas de los dispositivos reales sobre el emulador / simulador?

 Hay un par de ventajas al usar dispositivos reales sobre el emulador / simulador

  1. Podemos comprobar escenarios de batería baja con dispositivos reales.
  2. Qué tan rápido se agota la batería durante la prueba.
  3. Podemos comprobar el rendimiento real de los dispositivos y crear perfiles de aplicaciones.
  4. Podemos comprobar escenarios relacionados con Bluetooth.
  5. Podemos revisar mensajes y llamadas telefónicas.

¿Cuáles son las diferentes herramientas para depurar en Android y iPhone?

Respuesta: Verificamos los registros para depurar los problemas que ocurren en los dispositivos. Para Android podemos comprobar Monitor, "adb logcat" o "dumpsys" . Para el iPhone, podemos usar Utilidad de configuración de iPhone.

¿Cómo puedes cambiar entre aplicaciones de Android?

cambiar entre la aplicación de Android
Preguntas de la entrevista de Appium: cambiar entre aplicaciones de Android

¿Cómo se puede cambiar entre aplicaciones de iOS?

cómo cambiar entre la aplicación iOS
Preguntas de la entrevista de Appium: Cambio entre la aplicación iOS

¿Cómo puede encontrar el ID de paquete en iOS?

  • Copie el archivo .ipa en sus sistemas y cambie la extensión a archivo .zip
  • Ahora descomprima la carpeta y busque el archivo iTunesMetadata.plist
  • Una vez que obtenga el archivo, ábralo en un editor y busque softwareVersionBundleId. Le dará la identificación del paquete.

¿Cómo puede habilitar el wifi mientras el teléfono está en modo avión?

ConnectionStateBuilder conexión = new ConnectionStateBuilder(); driver.setConnection (conexión.withWiFiEnabled() .build());));

¿Cómo se puede habilitar el teclado Unicode?

Respuesta: Necesitamos agregar las capacidades deseadas a continuación:

wishCapabilities.setCapability ("unicodeKeyboard", verdadero);

¿Cómo se puede copiar y pegar en Appium?

Respuesta: Bueno, no existe un método directo para hacerlo. Sin embargo, puede obtener el valor usando los métodos getText () o getAttributes () y pasar el mismo valor a sendKeys ().

Cómo manejar WebDriverAgentRunner-Runner.app encontró un error (¿No se pudo instalar o iniciar el problema del corredor de prueba?

rm '/usr/local/bin/carthage' 
brew install carthage 
brew link carthage

Puede haber otras posibles soluciones a este problema. Puedes referir esto liga para otras soluciones.

¿Cuándo se elegirán las pruebas de automatización en lugar de las pruebas manuales?

Respuesta: Las pruebas de automatización ayudarán durante las pruebas de regresión. Si tiene escenarios complejos o escenarios repetitivos, debe automatizarlos.

¿Cuándo elegirá las pruebas manuales en lugar de las pruebas de automatización?

Cuando tenga nuevas aplicaciones, primero debe probarlas manualmente y probablemente luego automatizarlas. Hay escenarios específicos en los que debe verificar a partir de registros / eventos; deberíamos verificarlos manualmente. Escenarios en los que no necesitamos pruebas frecuentes, no deberíamos automatizarlos.

¿Cómo funciona Appium?

  • Hemos cubierto esta parte en nuestra publicación inicial. Por favor, vea la respuesta aquí.

¿Cómo hacer doble clic en Appium?

haciendo doble clic
Preguntas de la entrevista de Appium: cómo hacer doble clic

¿Cómo desinstalar la aplicación en Android?

Desinstalar la aplicación
Preguntas de la entrevista de Appium: Cómo desinstalar la aplicación

¿Cómo borrar los datos de la aplicación en Android?

Paquete de aplicación14
Preguntas de la entrevista de Appium: Cómo borrar los datos de la aplicación

¿Cómo manejará los casos de falla en Appium?

Respuesta: Depende de los escenarios. Si falla alguno de los casos de prueba, debemos restaurar el estado de la aplicación para ejecutar los siguientes casos de prueba. Puede hacerlo en @AfterMethod o usando oyentes.

¿Cómo aumentar el porcentaje de pases en Appium?

Respuesta: La automatización de la aplicación con Appium a veces hace que los scripts sean inconsistentes. Si ejecuta los casos de prueba durante más tiempo o puede deberse a problemas de red, puede enfrentar el problema de la inconsistencia. Para hacer que el script sea más robusto, podemos adoptar el siguiente enfoque.

¿Hay EventListeners en Appium?

Respuesta: sí, puede utilizar AppiumWebDriverEventListener. Necesita implementar esta interfaz.

Ejemplo:

La clase pública AppiumListener implementa AppiumWebDriverEventListener { public void beforeChangeValueOf(WebElement webElement, WebDriver webDriver) { } public void afterChangeValueOf(WebElement webElement, WebDriver webDriver) { } public void beforeAlertAccept(WebDriver webDriver) { } public void afterAlertAccept(WebDriver webDriver) { } public void afterAlertDismiss(WebDriver webDriver) { } public void beforeAlertDismiss(WebDriver webDriver) { } public void beforeNavigateTo(String s, WebDriver webDriver) { } public void afterNavigateTo(String s, WebDriver webDriver) { } public void beforeNavigateBack(WebDriver webDriver) { } public void afterNavigateBack(WebDriver webDriver) { } public void beforeNavigateForward(WebDriver webDriver) { } public void afterNavigateForward(WebDriver webDriver) { } public void beforeNavigateRefresh(WebDriver webDriver) { } public void afterNavigateRefresh(WebDriver webDriver) { } public void beforeFindBy(By by , WebElement elemento web, WebDriver webDriver) { }public void afterFindBy(Por, WebElement webElement, WebDriver webDriver) { } public void beforeClickOn(WebElement webElement, WebDriver webDriver) { } public void afterClickOn(WebElement webElement, WebDriver webDriver) { } public void beforeChangeValueOf(WebElement webElement, WebDriver webDriver, CharSequence [] charSequences) { } public void afterChangeValueOf(WebElement webElement, WebDriver webDriver, CharSequence[] charSequences) { } public void beforeScript(String s, WebDriver webDriver) { } public void afterScript(String s, WebDriver webDriver) { } public void beforeSwitchToWindow (String s, WebDriver webDriver) { } public void afterSwitchToWindow(String s, WebDriver webDriver) { } /** * funcionará si se encuentra alguna excepción en los scripts * @param throwable * @param webDriver */ public void onException( Throwable throwable, WebDriver webDriver) { System.out.println("Execute Exception"); } público void beforeGetScreenshotAs(OutputType tipo de salida) { } público void afterGetScreenshotAs(OutputType outputType, X x) { } public void beforeGetText(WebElement webElement, WebDriver webDriver) { } public void afterGetText(WebElement webElement, WebDriver webDriver, String s) { } }

Hasta ahora, hemos cubierto tres tipos de Preguntas de la entrevista de Appium. Estos son procesos Preguntas básicas de la entrevista de Appium, preguntas de la entrevista intermedia de Appium y preguntas de la entrevista de nivel avanzado de Appium. Este tutorial lo ayudará a prepararse para las preguntas de la entrevista de Appium y le dará la confianza para resolverlo. Para obtener más información sobre Appium, puede refiérase a esto liga.

Referencia: Appium