With the Android SDK, you can track every navigation choice, every touched button, and the contents of every field.


Quick Links
List of supported controls List of unsupported controls
Known issues for UI controls logging


List of supported controls

  • Text View
  • ImageView
  • ListView
  • EditText
  • Button
  • toggleButton
  • Spinner
  • FrameLayout
  • ListView
  • CheckBox
  • RadioButton
  • ProgressBar
  • Text View
  • ImageView
  • ListView
  • EditText
  • Button
  • toggleButton
  • Spinner
  • FrameLayout
  • ListView
  • CheckBox
  • RadioButton
  • ProgressBar
  • Text View
  • ImageView
  • ListView
  • EditText
  • Button
  • toggleButton
  • Spinner
  • FrameLayout
  • ListView
  • CheckBox
  • RadioButton
  • ProgressBar
  • Text View
  • ImageView
  • ListView
  • EditText
  • Button
  • toggleButton
  • Spinner
  • FrameLayout
  • ListView
  • CheckBox
  • RadioButton
  • ProgressBar


List of unsupported controls

  • Picker
  • DatePickerDialog
  • TimePickerDialog
  • AnalogClock
  • DigitalClock
  • Gallery


Known issues for UI controls logging

For known issues regarding UI controls logging, see the following table.


Issue Solution
When using auto instrumentation for TextView UI events, touch events sometimes become unresponsive. Open the TeacutsBasicConfig.properties file and set TextViewEnabled=false.
When an app uses sprite for animation, sometimes an OutOfMemory exception is thrown when the SDK attempts to generate MD5 hash for images. Open the TealeafAdvancedConfig.json file and set "GenerateImageMD5Hash": false.
When utilizing the TealeafLayoutConfig.json file for layout auto instrumentation, replay sometimes displays a blank screen due to capturing the screen too early. You might increase the delay value to accommodate for UI rendering:

{
  "AutoLayout": {
    "UICAndroidControlsAppActivity": {
      "do": true,
      "screenViewName": "UICAndroidControlsAppActivity",
      "delay": 500,
      "takeScreenShot": false
    },
...

However, if the UI relies on network data or animation, try manually calling the Tealeaf.logScreenLayout(..) API to capture the screen. Follow these steps.

  1. For example, if there’s an activity, UICAndroidControlsAppActivity, set auto logging to false by updating the “do” property:

    {
      "AutoLayout": {
        "UICAndroidControlsAppActivity": {
          "do": false,
          "screenViewName": "UICAndroidControlsAppActivity",
          "delay": 500,
          "takeScreenShot": false
        },
    ...
    
  2. Call the Tealeaf.logScreenLayout(..) API when the UI is rendered in the app. This usually occurs during onResume(..) event or after the animation is ended event.

    public void onResume() {
            super.onResume();
            // Call Tealeaf API to log the screen
           Tealeaf.logScreenLayout(this, “customPageName”, 10);
        }
    


Join The Discussion

Your email address will not be published. Required fields are marked *