Quale approccio è il migliore? Test su dispositivi reali o simulatori / emulatori?Questa è una domanda difficile perché entrambe le opzioni offrono diversi livelli di testabilità e flessibilità durante il test. Ci sono anche molti problemi associati a ciascuno. Quindi la mia risposta sarà di nuovo: "Dipende dai tuoi bisogni!".
Eseguire test su un dispositivo è, a mio avviso, la soluzione migliore perché offre un ambiente di test completamente allineato con l'ambiente in esecuzione: i test vengono eseguiti su quei dispositivi in cui le app verranno utilizzate una volta pubblicate nei negozi. Tuttavia i dispositivi devono essere collegati al Server Appium via USB almeno, e questa non è sempre una cosa molto carina. ADB ha un problema noto per il quale un dispositivo si disconnette dopo un po '(anche se è rimasto collegato tutto il tempo): per questo i test potrebbero fallire dopo un po' e Appium segnalerà che non è stato possibile trovare un dispositivo! Ho dovuto scrivere un componente che resetta ADB dopo un po 'di tempo in modo che i dispositivi non si disconnettono.