51 domande sull'intervista ad Appium (la maggior parte dei principianti non lo sa!)

In questo tutorial, discuteremo le 50 principali domande e risposte dell'intervista Appium. Ti aiuterà a prepararti per il colloquio e a risolverlo.

Divideremo le domande e le risposte in tre parti:

Domande di base dell'intervista Appium

Cos'è Appium?

Ans: Appium è un framework di test dell'interfaccia utente mobile open source distribuito gratuitamente.

Quali tipi di applicazioni possiamo automatizzare con Appium?

Ans: Appium supporta applicazioni native, applicazioni ibride e visualizzazioni Web.

Elencare le abilità di Appium?

Ans: Per questa risposta si prega di fare riferimento a questo Link.

Elenca i prerequisiti per utilizzare Appium?

Ans: Abbiamo bisogno di strumenti / jar / plugin di seguito per lavorare con Appium

  1. JDK
  2. Studio ANDROID
  3. IntelliJ / Eclipse
  4. Plugin o dipendenza TestNG se utilizzi Maven
  5. Client Java Appium

Menzionare gli svantaggi o i limiti di Appium?

Ans: Come ogni strumento, anche Appium ha alcune limitazioni. Per favore controlla la risposta qui.

Quali sono le app native?

Ans: Si prega di controllare la risposta da qui.

Cosa sono le app ibride?

Ans: Si prega di controllare la risposta da qui

Cosa intendi per M-Web o Mobile Web Apps?

Ans: Si prega di controllare la risposta da qui.

Quali sono le lingue supportate in Appium ??

Ans: Appium consente ai clienti di interagire con Appium in base alle sessioni. I client inviano richieste di sessione come forma di POST e passano le capacità desiderate come parametro. Ci sono più client come Java, JavaScript, PHP, Ruby, Python e C #.

Menziona i vantaggi o i vantaggi dell'utilizzo di Appium.

Ans: La risposta è la stessa della Domanda 3. Troverai la risposta qui

Elencare l'Automazione e il Framework di Unit Test supportati da Appium?

Ans: Possiamo utilizzare tutti i tipi di framework di test con Appium. Ad esempio, unità java, java ProvaNG, NUnit ecc. come framework di unit test. Il test Appium implementa il Selenio webDriver per interagire con dispositivi Android o iOS.

Menzionare i limiti o gli svantaggi di Appium?

Ans: La risposta è la stessa della Domanda 5. Troverai la risposta qui

Come puoi verificare gli elementi sull'app iOS?

Ans: Per l'app iOS, possiamo verificare gli elementi utilizzando Appium inspector. È uno strumento eccellente per identificare l'id degli elementi, XPath ecc. Può anche eseguire azioni dell'utente.

Cos'è l'ispettore Appium?

Ans: Appium inspector viene utilizzato per ispezionare DOM per scoprire gli elementi sia in Android che in iOS. Possiamo registrare le azioni che eseguiamo nell'ispettore. Può generare gli script in diversi linguaggi come Java / JUnit, python ecc. Per una guida completa su Appium inspector, per favore clicca qui.

Come ispezionare l'elemento DOM o XPath per l'applicazione mobile?

Ans: Puoi trovare l'elemento DOM o XPath in un paio di modi. O puoi usare "UIAuteviewer / UIAutomateviewer2", oppure puoi usare Appium inspector per Android. Per iOS, puoi utilizzare Appium inspector. Per sapere come ispezionare l'elemento, fare riferimento a questo link.

Qual è la differenza tra simulatore con emulatore?

Ans: Emulatore e simulatore sono entrambi dispositivi visivi. L'emulatore è un dispositivo virtuale per Android e il simulatore è un dispositivo virtuale per iOS lanciato da Xcode.

Quanto tempo impiega Appium per automatizzare un test?

Ans: Dipende dallo scenario che stai testando. Se stai verificando più flussi in un unico metodo, è probabile che occorra più tempo. Ma è sempre meglio rendere i casi di test precisi e diretti in modo che se si verificano problemi durante l'esecuzione, puoi avere il meccanismo di ripristino.

Quando dovremmo usare Appium?

Ans: Appium supporta l'app Web mobile nativa e l'app ibrida. Supporta test multipiattaforma. Se utilizzi Android o iOS e desideri verificarlo, puoi utilizzare Appium.

Qual è l'approccio migliore durante il test su dispositivi reali o emulatori / simulatori?

Ans: Ancora una volta, questo dipende dagli scenari di test e dai comportamenti dell'applicazione. Se si tratta di un'applicazione semplice, puoi testare sia su dispositivi reali che su simulatore / emulatore. Ma se la tua applicazione ha una logica complessa, è sempre meglio optare per dispositivi reali. In generale, dovremmo usarli per automatizzare perché è in definitiva l'utente finale che utilizzerà queste applicazioni. Anche i dispositivi reali hanno problemi durante la connessione al computer per molto tempo. Le connessioni ADB si perdono e mostrerà i dispositivi non collegati, il che non supererà i tuoi casi di test.

Come identificare gli oggetti M-Web o browser mobile utilizzando Appium?

Ans: UserAgent può essere utilizzato per identificare gli oggetti in un M-Web o in un browser mobile. Fornisce un modo per modificare il browser utilizzando il proxy mobile per risolvere il problema.
Oppure possiamo utilizzare ChromeCasting per l'identificazione degli oggetti in un browser mobile. Utilizzando Chromecast, è possibile stabilire la connessione del tuo cellulare al sistema e quindi puoi ispezionare gli elementi sul cellulare dal sistema di casting di Chrome.

Quale approccio adottare per identificare l'oggetto univoco in Appium mentre lo stesso nome di classe ha più oggetti

Ans: driver.findElements(By.className) fornisce gli elenchi degli elementi. Una volta ottenuti gli elenchi, dobbiamo scorrere gli indici per gestire gli elementi in modo univoco con lo stesso nome di classe.

Eseguire il confronto tra Appium e Selenio?

Ans: Come sappiamo Selenium è uno strumento open source. Aiuta ad automatizzare le applicazioni web. D'altra parte Appium è anche uno strumento open source. Utilizza per automatizzare le applicazioni mobili (native, ibride, app Web). Appium implementa Selenium Webdriver per interagire con i dispositivi.

Come nascondere la tastiera in Appium?

come nascondere la tastiera
Domande dell'intervista Appium: come nascondere la tastiera

Quali sono le funzionalità desiderate richieste per Android?

capacità desiderate per Android
Domande dell'intervista Appium: funzionalità desiderate per Android

Quali sono le funzionalità desiderate richieste per iOS?

funzionalità desiderate per iOS
Domande dell'intervista Appium: funzionalità desiderate per iOS

Domande di intervista intermedio Appium

Che cos'è lo scambio di dati quando esegui i test sui dispositivi mobili?

Ans: Lo scambio di dati in Appium scambia i dati ospitati da oggetti complessi che vengono effettivamente archiviati in diversi componenti dell'app basata sulla visualizzazione Web. Un esempio può essere l'oggetto finestra.

Quali sono gli errori che affronti in Appium?

Ans:

  • "Le seguenti funzionalità desiderate sono necessarie ma non fornite: Device Name, platformNameError."
  • "Impossibile trovare adb. Si prega di impostare la variabile d'ambiente ANDROID_HOME con la directory root di Android SDK pathError. "
  • "Openqa.selenium.SessionNotCreatedException: impossibile creare una nuova sessioneError."

Quali sono le condizioni per scrivere i test Appium?

A scrivere un test Appium, dobbiamo seguire i seguenti punti:

Cliente Appium: Questo è un client Appium scritto in una lingua diversa che si connette al server Appium. Ad esempio, client Java Appium. 

Appio Sessione: Appium interagisce con i dispositivi mobili in base alle sessioni. Dobbiamo creare una sessione con l'aiuto del client Appium. 

Capacità desiderate: Le capacità desiderate sono come i parametri che passiamo durante la creazione della sessione. Aiuta il server Appium a identificare i dispositivi in ​​modo univoco.

Comando del conducente: Il comando del driver non è altro che le azioni dell'utente che eseguiamo nei dispositivi. Ad esempio, fare clic su () o sendKeys ().

Come puoi verificare gli elementi nell'applicazione nativa Android?

Ans: Puoi utilizzare "UIAuteviewer / UIAutomateviewer2" oppure puoi utilizzare Appium inspector per Android.

Come scorrere verso il basso in un'app?

come scorrere verso il basso
Domande dell'intervista Appium: come scorrere verso il basso

È possibile avviare il server Appium a livello di programmazione?

Ans: Sì, possiamo avviare in modo programmatico la sessione del server Appium. Poiché Appium utilizza node.js, possiamo creare un file .bat (per Windows) o un file / comando di shell (Linux / Mac) per avviare il server Appium passando la porta di bootstrap, l'IP dell'hub e la porta.

Come scorrere a sinistra in Appium?

come scorrere a sinistra
Domande dell'intervista Appium: come scorrere a sinistra

Come scorrere a destra in Appium?

come scorrere a destra
Domande dell'intervista Appium: come scorrere verso destra

È possibile eseguire un test parallelo / multithread in Appium?

Ans: Sì, possiamo eseguire test sull'ambiente multithread, ma la condizione è assicurarsi che lo stesso server Appium non debba essere utilizzato per parallelizzare i due test.

Citare l'approccio del test parallelo in IOS utilizzando Appium?

Ans: Appium ha dato un'opzione per eseguire test iOS in parallelo dalla versione 9 di Xcode e successive. Ci sono un paio di prerequisiti che dobbiamo seguire.

  1. "UDID" dovrebbe essere univoco.
  2. "WdaLocalPort" dovrebbe essere univoco
  3. La radice derivataDataPath dovrebbe essere univoca per ogni istanza del driver. 
  4. Sauce Labs offre un'opzione per eseguire i test iOS in parallelo. Dobbiamo caricare il nostro test Appium nei laboratori di salsa. Successivamente, verrà eseguito in più test iOS in parallelo.

Come scorrere verso l'alto in Appium?

come scorrere verso l'alto
Domande dell'intervista Appium: come scorrere verso l'alto

Come scorrere verso il basso in Appium?

come scorrere verso il basso
Domande dell'intervista Appium: come scorrere verso il basso

Domande di intervista avanzate su Appium

Quali sono i comandi selenio che funzionano con Appium?

Ans: Appium implementa Driver Web Selenio. Ecco perché quasi tutti i WebDriver i comandi funzionano con Appium. Di seguito vengono citati alcuni esempi:

  • Clic() comando per fare clic / toccare il pulsante / i collegamenti.
  • sendKeys () comando per inviare il valore.
  • Supporta i comandi degli script java.
  • Gestisce gli avvisi.
  • Può passare da un contesto all'altro nelle visualizzazioni web.

Quali sono i vantaggi dei dispositivi reali rispetto all'emulatore / simulatore?

 Ci sono un paio di vantaggi nell'usare dispositivi reali rispetto a emulatore / simulatore

  1. Possiamo controllare scenari di batteria scarica con dispositivi reali.
  2. La velocità con cui la batteria si scarica durante il test.
  3. Possiamo controllare le prestazioni effettive dei dispositivi e fare la profilazione delle app.
  4. Possiamo controllare gli scenari relativi al Bluetooth.
  5. Possiamo controllare messaggi e telefonate.

Quali sono i diversi strumenti per il debug in Android e iPhone?

Ans: Verifichiamo i log per eseguire il debug dei problemi che si verificano nei dispositivi. Per Android possiamo controllare Monitor, “adb logcat” o “dumpsys” . Per l'iPhone, possiamo usare Utilità di configurazione dell'iPhone.

Come puoi passare da un'applicazione Android a un'altra?

passare da un'app Android all'altra
Domande dell'intervista Appium: passaggio tra app Android

Come puoi passare da un'applicazione iOS a un'altra?

come passare da un'app iOS all'altra
Domande dell'intervista Appium: passaggio da un'app iOS all'altra

Come puoi trovare l'ID bundle in iOS?

  • Copia il file .ipa sui tuoi sistemi e modifica l'estensione in file .zip
  • Ora decomprimi la cartella e cerca il file iTunesMetadata.plist
  • Una volta ottenuto il file, aprilo in un editor e cerca softwareVersionBundleId. Ti darà l'ID bundle.

Come puoi abilitare il wifi mentre il telefono è in modalità aereo?

ConnectionStateBuilder connection = new ConnectionStateBuilder(); driver.setConnection (connection.withWiFiEnabled() .build());));

Come puoi abilitare la tastiera Unicode?

Ans: Abbiamo bisogno di aggiungere sotto le capacità desiderate:

desideratoCapabilities.setCapability ("unicodeKeyboard", true);

Come puoi copiare-incollare in Appium?

Ans: Ebbene, non esiste alcun metodo diretto per farlo. Tuttavia è possibile ottenere il valore utilizzando i metodi getText () o getAttributes () e passare lo stesso valore a sendKeys ().

Come gestire WebDriverAgentRunner-Runner.app ha riscontrato un errore (Impossibile installare o avviare il problema del test runner?

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

Potrebbero esserci altre possibili soluzioni a questo problema. Puoi fare riferimento a questo link per altre soluzioni.

Quando sceglierà il test di automazione rispetto al test manuale?

Ans: I test di automazione aiuteranno durante i test di regressione. Se hai scenari complessi o scenari ripetitivi, dovresti automatizzarli.

Quando sceglierai il test manuale rispetto al test di automazione?

Quando hai nuove applicazioni, dovresti prima testarle manualmente e probabilmente poi automatizzarle. Esistono scenari specifici in cui è necessario verificare da log / eventi; dovremmo verificarli manualmente. Scenari in cui non sono necessari test frequenti, non dovremmo automatizzarli.

Come funziona Appium?

  • Abbiamo trattato questa parte nel nostro post iniziale. Si prega di vedere la risposta qui.

Come fare doppio clic su Appium?

doppio clic
Domande dell'intervista Appium: come fare doppio clic

Come disinstallare l'app su Android?

Disinstallazione dell'app
Domande dell'intervista Appium: come disinstallare l'app

Come cancellare i dati dell'app su Android?

Pacchetto app14
Domande dell'intervista Appium: come cancellare i dati dell'app

Come gestirai i casi di fallimento in Appium?

Ans: Dipende dagli scenari. Se uno dei casi di test non riesce, è necessario ripristinare lo stato dell'app per eseguire i casi di test successivi. Puoi farlo in @AfterMethod o usando i listener.

Come aumentare la percentuale di abbonamento su Appium?

Ans: L'automazione dell'app utilizzando Appium a volte rende gli script incoerenti. Se esegui i test case per tempi più lunghi o potrebbe essere dovuto a problemi di rete, puoi affrontare il problema di incoerenza. Per rendere lo script più robusto possiamo adottare il seguente approccio.

Ci sono EventListeners in Appium?

Ans: sì, puoi usare AppiumWebDriverEventListener. Devi implementare questa interfaccia.

Esempio:

public class 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 by , WebElement webElement, WebDriver webDriver) { }public void afterFindBy(By by, 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) { } /** * funzionerà se è stata trovata un'eccezione negli script * @param throwable * @param webDriver */ public void onException( Lanciabile lanciabile, WebDriver webDriver) { System.out.println ("Esegui eccezione"); } pubblico void beforeGetScreenshotAs(OutputType outputType) { } pubblico void afterGetScreenshotAs(OutputType outputType, X x) { } public void beforeGetText(WebElement webElement, WebDriver webDriver) { } public void afterGetText(WebElement webElement, WebDriver webDriver, String s) { } }

Fino ad ora, abbiamo coperto tre tipi di Domande dell'intervista Appium. È prodotto in Domande dell'intervista Appium di base, domande dell'intervista Appium intermedia e domande dell'intervista Appium di livello avanzato. Questo tutorial ti aiuterà a prepararti per le domande dell'intervista Appium e ti darà la sicurezza per risolverlo. Per apprendere in modo approfondito su Appium, puoi fare riferimento a questo link.

Riferimento: Appium