0

Are there any differences between running an app manually and using appium?

Because

It only happens when the app is started by appium. When app is installed and started manually, it runs normally without crashes.

If I want to automatically or manually display the one specific page the app crash “Unfortunately,… has stopped”

There are not any errors about it in appium logs. Only this exception in android monitor:

E/AndroidRuntime: FATAL EXCEPTION: main Process: ..., PID: 26842
java.lang.NullPointerException: Attempt to read from field 'android.support.v7.widget.RecyclerView$Recycler android.support.v7.widget.RecyclerView.mRecycler' on a null object reference at android.support.v7.widget.RecyclerView$LayoutManager.onInitializeAccessibilityNodeInfo(RecyclerView.java:9580) at android.support.v7.widget.RecyclerViewAccessibilityDelegate.onInitializeAccessibilityNodeInfo(RecyclerViewAccessibilityDelegate.java:59) at android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl$1.onInitializeAccessibilityNodeInfo(AccessibilityDelegateCompat.java:246) at android.support.v4.view.AccessibilityDelegateCompatJellyBean$1.onInitializeAccessibilityNodeInfo(AccessibilityDelegateCompatJellyBean.java:66) at android.view.View.onInitializeAccessibilityNodeInfo(View.java:6076) at android.view.View.createAccessibilityNodeInfoInternal(View.java:6037) at android.view.View$AccessibilityDelegate.createAccessibilityNodeInfo(View.java:22281) at android.view.View.createAccessibilityNodeInfo(View.java:6020) at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:145) at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:119) at android.view.View.onInitializeAccessibilityEventInternal(View.java:5974) at android.view.View$AccessibilityDelegate.onInitializeAccessibilityEvent(View.java:22193) at android.support.v4.view.AccessibilityDelegateCompatIcs.onInitializeAccessibilityEvent(AccessibilityDelegateCompatIcs.java:97) at android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateIcsImpl.onInitializeAccessibilityEvent(AccessibilityDelegateCompat.java:192) at android.support.v4.view.AccessibilityDelegateCompat.onInitializeAccessibilityEvent(AccessibilityDelegateCompat.java:432) at android.support.v7.widget.RecyclerViewAccessibilityDelegate.onInitializeAccessibilityEvent(RecyclerViewAccessibilityDelegate.java:65) at android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl$1.onInitializeAccessibilityEvent(AccessibilityDelegateCompat.java:241) at android.support.v4.view.AccessibilityDelegateCompatJellyBean$1.onInitializeAccessibilityEvent(AccessibilityDelegateCompatJellyBean.java:61) at android.view.View.onInitializeAccessibilityEvent(View.java:5960) at android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5827) at android.view.View$AccessibilityDelegate.sendAccessibilityEventUnchecked(View.java:22132) at android.support.v4.view.AccessibilityDelegateCompatIcs.sendAccessibilityEventUnchecked(AccessibilityDelegateCompatIcs.java:122) at android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateIcsImpl.sendAccessibilityEventUnchecked(AccessibilityDelegateCompat.java:223) at android.support.v4.view.AccessibilityDelegateCompat.sendAccessibilityEventUnchecked(AccessibilityDelegateCompat.java:371) at android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl$1.sendAccessibilityEventUnchecked(AccessibilityDelegateCompat.java:268) at android.support.v4.view.AccessibilityDelegateCompatJellyBean$1.sendAccessibilityEventUnchecked(AccessibilityDelegateCompatJellyBean.java:87) at android.view.View.sendAccessibilityEventUnchecked(View.java:5810) at android.support.v7.widget.RecyclerView.sendAccessibilityEventUnchecked(RecyclerView.java:3206) at android.view.View.sendAccessibilityEventInternal(View.java:5789) at android.view.View$AccessibilityDelegate.sendAccessibilityEvent(View.java:22090) at android.support.v4.view.AccessibilityDelegateCompatIcs.sendAccessibilityEvent(AccessibilityDelegateCompatIcs.java:117) at android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateIcsImpl.sendAccessibilityEvent(AccessibilityDelegateCompat.java:217) at android.support.v4.view.AccessibilityDelegateCompat.sendAccessibilityEvent(AccessibilityDelegateCompat.java:349) at android.support.v4.view.AccessibilityDelegateComp

I use appium v1.6.5 (1.7.1) and Android 6.0 - 7.1 emulators

MMMko
  • 1
  • 1
    Possible duplicate of [What is a NullPointerException, and how do I fix it?](https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – Goku Nov 24 '17 at 09:07

1 Answers1

0

Appium is using adb shell to install/launch app and for elements interactions it use UiAutomator / UiAutomator2 (depends on AutomationName capability you provided)

You can see it in Appium server logs:

install 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"]

launch app:

 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"]

waits for expected activity to be started:

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>

finalize session creation:

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

So you can try the same commands from terminal and see if you can reproduce the crash

dmle
  • 3,498
  • 1
  • 14
  • 22