Esiste un modo affidabile per fare in modo che Espresso aspetti che WebViews finisca il caricamento?Fai in modo che Espresso attenda che WebView finisca di caricarsi
Ho provato l'approccio delineato here ma l'ho trovato inaffidabile. Ha anche altri svantaggi:
- Si basa sulla sostituzione del WebChromeClient di WebView. Qualsiasi WebChromeClient esistente non può essere incluso, poiché WebViewrt non ha un metodo getWebChromeClient() per qualche motivo.
- Richiede una specifica istanza di WebView, quindi ogni volta che avvio un'attività con una WebView devo ottenere l'istanza di WebView e registrare una nuova WebviewIdlingResource per essa.
Spero che qualcuno abbia una soluzione senza alcuno di questi inconvenienti. Speravo che il pacchetto espresso-web potesse fornire una soluzione, ma non sembra offrire nulla in merito al caricamento.
ho trovato questo: https://github.com/awslabs/aws-device-farm-sample-app-for-android/blob/a8aa3218fda2a0c72b039f371a1b5d12e522051f/app/src/androidTest/ java/com/amazonaws/devicefarm/android/referenceapp/IdlingResources/WebViewIdlingResource.java – piotrek1543