android / android/testing-samples

Native NullReferenceException thrown on ByMatcher.java:142 when using Android 4.4.x devices.

Aperta
#134 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
9.3k
Fork
3.6k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hi everyone,

I'm trying to include an Android 4 device for my Automation suite, but for some reason I'm seeing NullReference exceptions when interacting with certain textboxes in an app under test but ONLY when using pre-Android 5 devices.

The stack traces I'm seeing are as follows:

`java.lang.NullPointerException
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:142)
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:111)
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:96)
at android.support.test.uiautomator.UiDevice.findObjects(UiDevice.java:171)`

when using FindObjects method to look for the textbox in question or:

`java.lang.NullPointerException
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:142)
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:111)
at android.support.test.uiautomator.ByMatcher.findMatch(ByMatcher.java:72)
at android.support.test.uiautomator.UiDevice.hasObject(UiDevice.java:154)
at android.support.test.uiautomator.Until$2.apply(Until.java:55)
at android.support.test.uiautomator.Until$2.apply(Until.java:52)
at android.support.test.uiautomator.WaitMixin.wait(WaitMixin.java:40)
at android.support.test.uiautomator.WaitMixin.wait(WaitMixin.java:34)
at android.support.test.uiautomator.UiDevice.wait(UiDevice.java:187)`

when using phone.wait(Until.hasObject(By.res(identifier)), timer); for example.

Any clues on how to bypass this issue? I'm not sure if our App developers are doing something strange with these textboxes or early Android versions are just poorly supported by UiAutomator.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo il problema su un dispositivo con una versione precedente ad Android 5 tramite UiDevice.findObjects e wait(Until.hasObject(By.res(identifier))). Esamina quindi ByMatcher.java:142 e i relativi chiamanti per determinare perché si verifica il valore null; il lavoro è completo quando viene documentato un workaround affidabile o viene fornito un fix validato rispetto a entrambi i percorsi di chiamata interessati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, java
Ambito
mobile, testing
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.