Android API and develop tools has been developed very sufficiently, while the apps we developed always have to be tested in someway by ourselves.
However we want to save our time by reducing these manual test cost.
Can we learn better method to reduce them?
Here is a conclusion for mobile(Android) operation system automation methods and tools.
Because Instrumentation's life cycle is binding with application virtual machihne process, it only stay Java level and Java unit test-case.
The advantage of CV is not restricted in plateforms, languages, and sences, but it may spend more time in running recognition algrithom, at the same CV would face more corner cases in their strong ablilty.
When defining some fancy Views or Viewgroups, we may see a blank if go through SDK tool, however we can give those views a meaning on recognition. So it very depends on algorithms for reliable.
This is one of Android SDK tools, so it's more accuracy than Image recognition based, more free than Instrumentation based by dumping application current layout tree into a xml file, we can handle results with any programming language, however, it just supports Android devices.
Execute command like this:
$ adb shell uiautomator dump $ adb pull /sdcard/window_dump.xml
then you will see what it looks like.
Different ways has their own advantage and disadvantage, the simplest automation may use specific single method to the target. If we hope to see a tool with the acomprehensive mechanisms, it probably have to combine multiple methhods.
This is very briefly page about Mobible(Android) automation test methods, the reason I write is hoping some day that automation tool could handle more complex software test problems, be more productive and save more time.