riguarda l'espresso. Sto eseguendo con successo test di integrazione su un simulatore. Penso che alcuni test stiano fallendo perché funziona troppo velocemente. C'è un modo per rallentare l'esecuzione/riproduzione speeD?Rallentatore Espresso
risposta
È impossibile che un test non riesca a causare velocità. Espresso può sincronizzare tutte le operazioni di test con l'applicazione in prova. Per impostazione predefinita, Espresso attende che gli eventi dell'interfaccia utente nella coda dei messaggi correnti vengano elaborati e che venga completata l'impostazione predefinita AsyncTasks
prima di passare alla successiva operazione di test. Tuttavia, se questo non è sufficiente per la tua applicazione, puoi dire a Espresso quando essere inattivo e quando no. Per fare ciò è necessario:
- implementare l'interfaccia IdlingResource .
- Registrare una o più delle IdlingResource (s) con Espresso chiamando lo
Espresso.registerIdlingResource
nell'impostazione di prova.
Se hai bisogno di più aiuto chiedimi !!
Haha ... in realtà Espresso funziona così solo. Il problema che si sta affrontando è che gli eventi dell'interfaccia utente non sono in grado di completare (ad esempio, facendo clic su una voce di elenco prima che l'elenco venga caricato da una chiamata di rete). In questo caso, dove le risorse vengono caricate da altri thread, è possibile eseguire Thread.sleep (millis) o in modo più efficiente il metodo loopMainThreadForAtleast (millis) di UiController per attendere something to load
(evento da completare).
Quando si registra un Espresso Test in Android Studio, le dichiarazioni di sospensione vengono automaticamente aggiunte ai test quando è presente l'interazione delle visualizzazioni per gestire il ritardo. Questo è l'approccio che viene generato insieme ai commenti:
// Added a sleep statement to match the app's execution delay.
// The recommended way to handle such scenarios is to use Espresso idling resources:
// https://google.github.io/android-testing-support-library/docs/espresso/idling-resource/index.html
try {
Thread.sleep(700);
} catch (InterruptedException e) {
e.printStackTrace();
}
- 1. Riproduzione video al rallentatore in Android
- 2. Come disattivare il rallentatore nel simulatore iPhone?
- 3. espresso: req.flash() richiede sessioni
- 4. Espresso e postDelayed
- 5. socket.io con espresso
- 6. Avvio applicazione Node.js espresso
- 7. Espresso con AsyncTask
- 8. Errore test Espresso fallito
- 9. test dinamico spinner espresso
- 10. Contenuto statico gzip espresso
- 11. espresso comando non trovato
- 12. Espresso - withEfficaceVisibility vs isDisplayed
- 13. Espresso: come testare SwipeRefreshLayout?
- 14. Test Espresso con RxLoader
- 15. espresso tornata di Internet Explorer
- 16. Test di snack con Espresso
- 17. Test caffè espresso Android NavigationView
- 18. js espresso - non può reindirizzare
- 19. espresso Passport.js: req.user VERSUS req.session.passport.user
- 20. Android Espresso NoMatchingViewException on check
- 21. Errore test Espresso su CircleCI
- 22. Android Espresso ListView click item
- 23. espresso reindirizzamento non cambia req.url
- 24. durante la stubazione con Espresso
- 25. Test Android: UIAutomator vs Espresso
- 26. Sblocco schermo emulatore utilizzando espresso
- 27. Come utilizzare Espresso Idling Resource
- 28. Qual è il diverso tra il generatore espresso e quello espresso
- 29. Problemi di stabilità con WPF MediaElement (MediaFailed, video al rallentatore), esistono soluzioni alternative?
- 30. Espresso seleziona i bambini del layout incluso