Testdroid App Crawler in Action – Activity Lens

Bitbar, the mobile devops company. Logo, large

Howdy all you mobile testers out there!

During the past months, we’ve seen how Testdroid has become the profound development and testing platform for mobile enthusiasts, serious companies building their next-big-things on mobile, and a bunch of others. Already by today, Testdroid Cloud has proven its real value in creation of the most solid and robust apps and games across Android device variants, and in fact, many of those are used by millions and millions of end-users. Every day. That’s a stunning achievement, and for sure keeps us pushing the innovation envelope to deliver you only the best tools and methods to make your apps super-robust for next app generations to come.

We’ve experienced how profoundly Testdroid Cloud changes otherwise so tedious testing effort to easy, instant result-driven testing with improved workflow and sophisticated monitoring capabilities. As the traditional way of testing mobile applications on real devices has been time-consuming, error prone, expensive, and rarely covering an adequate set of devices used by the mobile ecosystem, we’ve found the right angle to tackle these challenges and help developers to cover their testing on 95% of the most used devices. That’s a significant market coverage, and just in minutes.

One great thing in Testdroid Cloud is the App Crawler. If you are familiar with the concept of Web crawling, the App Crawler does pretty much the same thing for mobile application that Web crawling does for World Wide Web. In a nutshell, the App Crawler is an intelligent application crawler that executes application systematically by traversing through each of the views in the Android view hierarchy, taking screenshots, and recording performance data as the crawler progresses through each view.

In Android applications activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map. Each activity is given a window in which to draw its user interface with the help of setContentView(View). Testdroid Activity Lens is agreat tool for visualizing the state changes from one activity to another during the App Crawling and user can investigate transitions between these activities after each crawl device by device. These state transitions are all part of the application activity lifecycle and how your app does these transitions has significant impact on the end user experience.

An application usually consists of multiple activities that are loosely bound to each other. In the example video, the activities were MovieTabWidget, Movies and MovieTrailer. Typically, one activity in an application is specified as the “main” activity (MovieTabWidget, in the video example), which is presented to the user when launching the application for the first time. Each activity can then start another activity in order to perform different actions. Each time a new activity starts, the previous activity is stopped, but the system preserves the activity in a stack. When a new activity starts, it is pushed onto the back stack and takes user focus. The back stack abides to the basic “last in, first out” stack mechanism, so, when the user is done with the current activity and presses the Back button, it is popped from the stack (and destroyed) and the previous activity resumes.

While activities are often presented to the user as full-screen windows, they can also be used in other ways: as floating windows (via a theme with the set of windowIsFloating) or embedded inside of another activity (using ActivityGroup). You declare your activities in the manifest file in order for it to be accessible to the system. To declare your activity, open your manifest file and add an <activity> element as a child of the <application> element. For example:

<manifest ...>
<application ... >
<activity android:name=".MovieTabWidget" />
<activity android:name=".Movies" />
<activity android:name=".MovieTrailer" />
</application ... >
</manifest ...>

Please take a moment to try out the new App Crawler feature at cloud.testdroid.com. It would be awesome to hear your thoughts on this new feature, and basically anything related to Testdroid. Just drop me an email at ville-veikko [dot] helppi [at] bitbar [dot] com.

Looking forward to hear your thoughts!