Automatic Android UI test script generation

By : Nadeemm
Source: Stackoverflow.com
Question!

I know that XCode for iOS development has an automatic test script creation, as seen here: https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/UIAutomation.html

I was hoping to find a similar tool for Android, one that I can press the buttons on an android application and a test script with the actions would be automatically created.

Any tools like that out there?

By : Nadeemm


Answers

Take a look at AndroidViewClient/culebra which you can use to create test cases and script either manually or using culebra or Culebra GUI.

There's also a concertina mode that instead of sending pseudo-random events like monkey, analyzes the content of the screen and randomly selects a suitable event or action for the also randomly selected target, normally a View.

So, you don't even have to press the buttons on the UI.



If I am reading the source code correctly, the fallback for pre-24 devices has not been implemented as of the time of this writing. So, at the moment, it gives you something that compiles, and delegates properly to the native implementation on API Level 24+ devices, but will not show the messages on older devices.



When you do arr[n][m] you're accessing an element of whatever type arr is. In your case this is a byte. If you want to assign an array to a 2D array simply do:

Requisition[0] = someinput;

And...

    byte[][] Requisition = new byte[10][];
    byte[] someinput = ("example").getBytes();
    Requisition[0]=someinput;//These insertion will happens in a loop later

tested with...

    for (byte b : Requisition[0])
        System.out.println(b);

Of course, this answer is based on the fact you're not actually dealing with a 2D array, you have a 3D array which is likely a result of erroneous insertions of an array into a single element. If not, apply this logic to any n dimensional array.



This video can help you solving your question :)
By: admin