2017-11-24 4 views
0

appを手動で実行する場合とappiumを使用する場合に違いはありますか?android.support.v7.widget.RecyclerView:アプリがappiumで開かれている場合のみヌルオブジェクト参照

アプリがappiumによって起動されたときにのみ発生します。アプリを手動でインストールして起動すると、クラッシュすることなく正常に実行されます。

私は自動または手動でアプリのクラッシュが

「残念ながら、...を停止しました」1つの特定のページを表示したい場合は

はappiumログでそれについてのすべてのエラーはありません。アンドロイドモニターでのみ、この例外:

E/AndroidRuntime:致命的な例外:メインプロセス:...、PID:26842
のjava.lang.NullPointerException:フィールド から読み取るしようと「android.support.v7 .widget.RecyclerView $リサイクラー android.support.v7.widget.RecyclerView.mRecycler」android.support.v7.widget.RecyclerView $ LayoutManager.onInitializeAccessibilityNodeInfoでnullオブジェクト 参照 (RecyclerView.java:9580) のAndroidで.support.v7.widget.RecyclerViewAccessibilityDelegate.onInitializeAccessibilityNodeInfo(RecyclerViewAccessibilityDelegate.java:59) android.support.v4 android.view.View.onInitializeAccessibilityNodeInfoでandroid.support.v4.view.AccessibilityDelegateCompatJellyBean $ 1.onInitializeAccessibilityNodeInfo(AccessibilityDelegateCompatJellyBean.java:66) で.view.AccessibilityDelegateCompat $ AccessibilityDelegateJellyBeanImpl $ 1.onInitializeAccessibilityNodeInfo(AccessibilityDelegateCompat.java:246) (View.java :6076) android.view.View.createAccessibilityNodeInfoInternal(View.java:6037) (android.view.View)$ AccessibilityDelegate.createAccessibilityNodeInfo(View.java:22281) android.view.View.createAccessibilityNodeInfo(View.java :6020) android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:149) at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:119)012 android.view.View $ AccessibilityDelegate.onInitializeAccessibilityEvent(View.java:22193)android.support.v4.view.AccessibilityDelegateCompatIcs.onInitializeAccessibilityEvent(AccessibilityDelegateCompatIcsで でandroid.view.View.onInitializeAccessibilityEventInternal(View.java:5974) で。 Javaの:97) android.support.v4.view.AccessibilityDelegateCompat.onInitializeAccessibilityEventでandroid.support.v4.view.AccessibilityDelegateCompat $ AccessibilityDelegateIcsImpl.onInitializeAccessibilityEvent(AccessibilityDelegateCompat.java:192) (AccessibilityDelegateCompat.java:432) でアンドロイドで。 support.v7.widget.RecyclerViewAccessibilityDelegate.onInitializeAccessibilityEvent(RecyclerViewAccessibilityDelegate.java:65) android.support.v4.view.AccessibilityDelegateCompat $ Accessi bilityDelegateJellyBeanImpl $ 1.onInitializeAccessibilityEvent android.view.View.onInitializeAccessibilityEvent(View.java:5960)でandroid.support.v4.view.AccessibilityDelegateCompatJellyBean $ 1.onInitializeAccessibilityEvent(AccessibilityDelegateCompatJellyBean.java:61) で(AccessibilityDelegateCompat.java:241) でandroid.support.v4.view.AccessibilityDelegateCompatIcs.sendAccessibilityEventUncheckedでandroid.view.View $ AccessibilityDelegate.sendAccessibilityEventUnchecked(View.java:22132) (AccessibilityDelegateCompatIcs.javaでandroid.view.View.sendAccessibilityEventUncheckedInternal(View.java:5827) : (AccessibilityDelegateCompat)。Javaの:アンドロイドでandroid.support.v4.view.AccessibilityDelegateCompat $ AccessibilityDelegateJellyBeanImpl $ 1.sendAccessibilityEventUncheckedでandroid.support.v4.view.AccessibilityDelegateCompat.sendAccessibilityEventUnchecked(AccessibilityDelegateCompat.java:371) で223) (AccessibilityDelegateCompat.java:268) android.support.v7.widget.RecyclerView.sendAccessibilityEventUncheckedでandroid.view.View.sendAccessibilityEventUnchecked(View.java:5810) で.support.v4.view.AccessibilityDelegateCompatJellyBean $ 1.sendAccessibilityEventUnchecked(AccessibilityDelegateCompatJellyBean.java:87) (RecyclerView。 java:3206)android.view.View.View.sendAccessibilityEventInternal(View.java:5789)の android.view.Viewの $ AccessibilityDelegate.sendAccessibilityEvent(View.java:22090)android.support.v4.view.AccessibilityDelegateCompat $ AccessibilityDelegateIcsImpl.sendAccessibilityEvent(AccessibilityDelegateCompat.java:217)android.support.v4で でandroid.support.v4.view.AccessibilityDelegateCompatIcs.sendAccessibilityEvent(AccessibilityDelegateCompatIcs.java:117) で。 view.AccessibilityDelegateCompat.sendAccessibilityEvent(AccessibilityDelegateCompat.java:349) android.support.v4.view.AccessibilityDelegateComp

私はappiumのv1.6.5(1.7.1)とAndroidを使うの6.0から7.1エミュレータ

+1

の可能性が重複して[NullPointerExceptionがあり、そしてどのように私は修正する何それ?](https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – Prem

答えて

0

Appiumはadbシェルを使用してアプリケーションをインストール/起動し、それが使用する要素の相互作用に使用しています

のAPKインストール:

Running '/Users/<user>/Library/Android/sdk/platform-tools/adb' 
with args:["-P",5037,"-s","192.168.56.101:5555","shell","ls", 
"/data/local/tmp/f0f1ea15bc776c996fddca878b00c589.apk"] 

打ち上げアプリ:用

Running '/Users/<user>/Library/Android/sdk/platform-tools/adb' 
with args: ["-P",5037,"-s","192.168.56.101:5555","shell","am","start", 
"-W","-n","<app_package>/<app_package>.launch.view.LaunchActivity","-S"] 

待機をUiAutomator/UiAutomator2は

あなたはAppiumサーバログにそれを見ることができます(あなたが提供AutomationNameの能力に依存します)期待される活動開始日:

Getting focused package and activity 
Running '/Users/dmitry/Library/Android/sdk/platform-tools/adb' with args: 
["-P",5037,"-s","192.168.56.101:5555","shell","dumpsys","window","windows"] 
Found package: <package> and fully qualified activity name : <activity_name> 

ファイナライズセッションの作成は:

New AndroidDriver session created successfully, 
session 807d2f94-bf31-4107-87ca-848261a4ce15 added to master session list 

だから、ターミナルから同じコマンドを試してみて、あなたがクラッシュを再現できるかどうかを確認することができます

関連する問題