android / android/testing-samples
Native NullReferenceException thrown on ByMatcher.java:142 when using Android 4.4.x devices.
- 主要言語
- Java
- スター
- 9.3k
- フォーク
- 3.6k
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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.
コントリビューションガイド
調査の方向性
まず、UiDevice.findObjects と wait(Until.hasObject(By.res(identifier))) を通じて、Android 5 より前のデバイスで失敗を再現します。次に ByMatcher.java:142 とその呼び出し元を調査し、null 値が発生する理由を特定します。両方の影響を受ける呼び出しパスに対して検証された、信頼できる回避策を文書化するか修正を提供できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, java
- 領域
- mobile, testing
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100