In my experience, I have found that Samsung devices tend to be the worst set of Android devices to attempt automating with. Sadly for us, Samsung devices are also one of the most popular set of Android devices, so it is not acceptable to simply and quietly ignore Samsung from our automation scripts.
I'm making this thread as a form of documenting all the various quirks or bugs found with Samsung devices and systems that make life difficult when automating. Some of these might not even be considered bugs, but they are definitely things to take note of when working with Samsung devices:
Some Samsung devices will not reliably return UI XML dumps that include WebViews.
You don't need to enable WebView debugging to note that there is a WebView available in hybrid apps, since the XML dump will simply represent the entire WebView as "android.webkit.WebView". As an example of the issue I see here, one of the Samsung devices I work on will include the WebView's UI XML information when I make a UI dump. If I request another UI dump after the first dump completes, the WebView information will mysteriously disappear.
Sometimes a simple tap or touch inside the WebView will cause the device to return WebView information in subsequent UI dumps. This applies to some Samsung devices, and I do not yet have enough information to conclude if all Samsung devices exhibit this behavior. I most certainly do not recall this behavior ever occurring on non-Samsung Android devices.
Samsung's customized Android system interface will change how certain actions should be performed by both users and automation code.
Samsung likes to use its own UI for its Android systems. On some devices, this UI includes a special UI drawer that the user can pull out from the right edge of the screen. This is a problem because Android systems with the standard UI do not have such a UI element. This means that if your automation scripts ever perform any sort of swiping from near the right edge of the screen towards the left side of the screen, your script will actually pull out this system drawer rather than perform whatever action you intended for your app.
This also applies to application designers. Beware of Samsung devices if you have a right-to-left navigation drawer built into your app.
Some Samsung devices do not include resource IDs through uiautomatorviewer
Some Samsung devices (such as the Galaxy S4) will momentarily be disconnected from ADB shortly after connecting to ADB. The only workaround I have for this is to wait a little while before running a test on such a device.
Some Samsung devices have trouble with unlocking
Samsung devices can drop adb connections after a period of stability