Firebase App Distribution API . projects . apps . releases . tests

Instance Methods

cancel(name, x__xgafv=None)

Abort automated test run on release.

close()

Close httplib2 connections.

create(parent, body=None, releaseTestId=None, x__xgafv=None)

Run automated test(s) on release.

get(name, x__xgafv=None)

Get results for automated test run on release.

list(parent, pageSize=None, pageToken=None, view=None, x__xgafv=None)

List results for automated tests run on release.

list_next()

Retrieves the next page of results.

Method Details

cancel(name, x__xgafv=None)
Abort automated test run on release.

Args:
  name: string, Required. The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The (empty) response message for `CancelReleaseTest`.
}
close()
Close httplib2 connections.
create(parent, body=None, releaseTestId=None, x__xgafv=None)
Run automated test(s) on release.

Args:
  parent: string, Required. The name of the release resource, which is the parent of the test Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}` (required)
  body: object, The request body.
    The object takes the form of:

{ # The results of running an automated test on a release.
  "aiInstructions": { # Instructions for AI driven test # Optional. Instructions for AI driven test.
    "appDescription": "A String", # Optional. Describes the app to give the AI some context
    "steps": [ # Required. Steps to be accomplished by the AI
      { # A step to be accomplished by the AI
        "assertion": "A String", # An assertion to be checked by the AI
        "goal": "A String", # A goal to be accomplished by the AI
      },
    ],
  },
  "createTime": "A String", # Output only. Timestamp when the test was run.
  "deviceExecutions": [ # Required. The results of the test on each device.
    { # The results of running an automated test on a particular device.
      "aiStepResults": [ # Output only. Results of the AI steps if passed in
        { # Captures the results of an AiStep
          "assertionDetails": { # Details for an assertion step. # Output only. Details for an assertion step.
            "explanation": "A String", # Output only. An explanation justifying the assertion result.
            "result": True or False, # Output only. The result of the assertion.
            "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this assertion.
              "height": 42, # Output only. The height of the screenshot, in pixels.
              "uri": "A String", # Output only. The URI of the screenshot.
              "width": 42, # Output only. The width of the screenshot, in pixels.
            },
          },
          "goalDetails": { # Details for a goal step. # Output only. Details for a goal step.
            "goalActions": [ # Output only. The actions taken by the AI while attempting to accomplish the goal.
              { # An action taken by the AI agent while attempting to accomplish a goal.
                "deviceAction": { # A high level action taken by the AI on the device, potentially involving multiple taps, text entries, waits, etc. # Output only. A high level action taken by the AI on the device.
                  "description": "A String", # Output only. A short description of the high level action taken by the AI agent.
                  "deviceInteractions": [ # Output only. The interactions made with the device as part of this higher level action taken by the agent, such as taps, text entries, waits, etc.
                    { # An interaction with the device, such as a tap, text entry, wait, etc.
                      "keyCode": "A String", # Output only. Key code for a key event action.
                      "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this action. The screen may have changed before the action was actually taken.
                        "height": 42, # Output only. The height of the screenshot, in pixels.
                        "uri": "A String", # Output only. The URI of the screenshot.
                        "width": 42, # Output only. The width of the screenshot, in pixels.
                      },
                      "swipe": { # A swipe action. # Output only. A swipe action.
                        "end": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The end point of the swipe.
                          "xCoordinate": 42,
                          "yCoordinate": 42,
                        },
                        "start": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The start point of the swipe.
                          "xCoordinate": 42,
                          "yCoordinate": 42,
                        },
                      },
                      "tap": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. A tap action.
                        "xCoordinate": 42,
                        "yCoordinate": 42,
                      },
                      "textInput": "A String", # Output only. Text entered for a text entry action.
                      "wait": { # A wait action. # Output only. A wait action.
                        "duration": "A String", # Output only. The duration of the wait.
                      },
                    },
                  ],
                },
                "explanation": "A String", # Output only. An explanation justifying why the action was taken.
                "terminalAction": { # An action taken by the AI to end the goal. # Output only. An action taken by the AI to end the goal.
                  "reason": "A String", # Output only. The reason why this goal was ended.
                  "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this terminal action.
                    "height": 42, # Output only. The height of the screenshot, in pixels.
                    "uri": "A String", # Output only. The URI of the screenshot.
                    "width": 42, # Output only. The width of the screenshot, in pixels.
                  },
                },
              },
            ],
          },
          "state": "A String", # Output only. The current state of the step
          "step": { # A step to be accomplished by the AI # Required. The step performed by the AI
            "assertion": "A String", # An assertion to be checked by the AI
            "goal": "A String", # A goal to be accomplished by the AI
          },
        },
      ],
      "appCrash": { # An app crash that occurred during an automated test. # Output only. An app crash, if any occurred during the test.
        "message": "A String", # Output only. The message associated with the crash.
        "stackTrace": "A String", # Output only. The raw stack trace.
      },
      "crawlGraphUri": "A String", # Output only. A URI to an image of the Robo crawl graph.
      "device": { # A device on which automated tests can be run. # Required. The device that the test was run on.
        "locale": "A String", # Optional. The locale of the device (e.g. "en_US" for US English) during the test.
        "model": "A String", # Required. The device model.
        "orientation": "A String", # Optional. The orientation of the device during the test.
        "version": "A String", # Required. The version of the device (API level on Android).
      },
      "failedReason": "A String", # Output only. The reason why the test failed.
      "inconclusiveReason": "A String", # Output only. The reason why the test was inconclusive.
      "resultsStoragePath": "A String", # Output only. The path to a directory in Cloud Storage that will eventually contain the results for this execution. For example, gs://bucket/Nexus5-18-en-portrait.
      "roboStats": { # Statistics collected during a Robo test. # Output only. The statistics collected during the Robo test.
        "actionsPerformed": 42, # Output only. Number of actions that crawler performed.
        "crawlDuration": "A String", # Output only. Duration of crawl.
        "distinctVisitedScreens": 42, # Output only. Number of distinct screens visited.
        "mainActivityCrawlTimedOut": True or False, # Output only. Whether the main activity crawl timed out.
      },
      "screenshotUris": [ # Output only. A list of screenshot image URIs taken from the Robo crawl. The file names are numbered by the order in which they were taken.
        "A String",
      ],
      "state": "A String", # Output only. The state of the test.
      "videoUri": "A String", # Output only. A URI to a video of the test run.
    },
  ],
  "displayName": "A String", # Optional. Display name of the release test. Required if the release test is created with multiple goals
  "loginCredential": { # Login credential for automated tests # Optional. Input only. Login credentials for the test. Input only.
    "fieldHints": { # Hints to the crawler for identifying input fields # Optional. Hints to the crawler for identifying input fields
      "passwordResourceName": "A String", # Required. The Android resource name of the password UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
      "usernameResourceName": "A String", # Required. The Android resource name of the username UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
    },
    "google": True or False, # Optional. Are these credentials for Google?
    "password": "A String", # Optional. Password for automated tests
    "username": "A String", # Optional. Username for automated tests
  },
  "name": "A String", # The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`
  "testState": "A String", # Output only. The state of the release test.
}

  releaseTestId: string, Optional. The ID to use for the test, which will become the final component of the test's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. If it is not provided one will be automatically generated.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The results of running an automated test on a release.
  "aiInstructions": { # Instructions for AI driven test # Optional. Instructions for AI driven test.
    "appDescription": "A String", # Optional. Describes the app to give the AI some context
    "steps": [ # Required. Steps to be accomplished by the AI
      { # A step to be accomplished by the AI
        "assertion": "A String", # An assertion to be checked by the AI
        "goal": "A String", # A goal to be accomplished by the AI
      },
    ],
  },
  "createTime": "A String", # Output only. Timestamp when the test was run.
  "deviceExecutions": [ # Required. The results of the test on each device.
    { # The results of running an automated test on a particular device.
      "aiStepResults": [ # Output only. Results of the AI steps if passed in
        { # Captures the results of an AiStep
          "assertionDetails": { # Details for an assertion step. # Output only. Details for an assertion step.
            "explanation": "A String", # Output only. An explanation justifying the assertion result.
            "result": True or False, # Output only. The result of the assertion.
            "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this assertion.
              "height": 42, # Output only. The height of the screenshot, in pixels.
              "uri": "A String", # Output only. The URI of the screenshot.
              "width": 42, # Output only. The width of the screenshot, in pixels.
            },
          },
          "goalDetails": { # Details for a goal step. # Output only. Details for a goal step.
            "goalActions": [ # Output only. The actions taken by the AI while attempting to accomplish the goal.
              { # An action taken by the AI agent while attempting to accomplish a goal.
                "deviceAction": { # A high level action taken by the AI on the device, potentially involving multiple taps, text entries, waits, etc. # Output only. A high level action taken by the AI on the device.
                  "description": "A String", # Output only. A short description of the high level action taken by the AI agent.
                  "deviceInteractions": [ # Output only. The interactions made with the device as part of this higher level action taken by the agent, such as taps, text entries, waits, etc.
                    { # An interaction with the device, such as a tap, text entry, wait, etc.
                      "keyCode": "A String", # Output only. Key code for a key event action.
                      "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this action. The screen may have changed before the action was actually taken.
                        "height": 42, # Output only. The height of the screenshot, in pixels.
                        "uri": "A String", # Output only. The URI of the screenshot.
                        "width": 42, # Output only. The width of the screenshot, in pixels.
                      },
                      "swipe": { # A swipe action. # Output only. A swipe action.
                        "end": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The end point of the swipe.
                          "xCoordinate": 42,
                          "yCoordinate": 42,
                        },
                        "start": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The start point of the swipe.
                          "xCoordinate": 42,
                          "yCoordinate": 42,
                        },
                      },
                      "tap": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. A tap action.
                        "xCoordinate": 42,
                        "yCoordinate": 42,
                      },
                      "textInput": "A String", # Output only. Text entered for a text entry action.
                      "wait": { # A wait action. # Output only. A wait action.
                        "duration": "A String", # Output only. The duration of the wait.
                      },
                    },
                  ],
                },
                "explanation": "A String", # Output only. An explanation justifying why the action was taken.
                "terminalAction": { # An action taken by the AI to end the goal. # Output only. An action taken by the AI to end the goal.
                  "reason": "A String", # Output only. The reason why this goal was ended.
                  "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this terminal action.
                    "height": 42, # Output only. The height of the screenshot, in pixels.
                    "uri": "A String", # Output only. The URI of the screenshot.
                    "width": 42, # Output only. The width of the screenshot, in pixels.
                  },
                },
              },
            ],
          },
          "state": "A String", # Output only. The current state of the step
          "step": { # A step to be accomplished by the AI # Required. The step performed by the AI
            "assertion": "A String", # An assertion to be checked by the AI
            "goal": "A String", # A goal to be accomplished by the AI
          },
        },
      ],
      "appCrash": { # An app crash that occurred during an automated test. # Output only. An app crash, if any occurred during the test.
        "message": "A String", # Output only. The message associated with the crash.
        "stackTrace": "A String", # Output only. The raw stack trace.
      },
      "crawlGraphUri": "A String", # Output only. A URI to an image of the Robo crawl graph.
      "device": { # A device on which automated tests can be run. # Required. The device that the test was run on.
        "locale": "A String", # Optional. The locale of the device (e.g. "en_US" for US English) during the test.
        "model": "A String", # Required. The device model.
        "orientation": "A String", # Optional. The orientation of the device during the test.
        "version": "A String", # Required. The version of the device (API level on Android).
      },
      "failedReason": "A String", # Output only. The reason why the test failed.
      "inconclusiveReason": "A String", # Output only. The reason why the test was inconclusive.
      "resultsStoragePath": "A String", # Output only. The path to a directory in Cloud Storage that will eventually contain the results for this execution. For example, gs://bucket/Nexus5-18-en-portrait.
      "roboStats": { # Statistics collected during a Robo test. # Output only. The statistics collected during the Robo test.
        "actionsPerformed": 42, # Output only. Number of actions that crawler performed.
        "crawlDuration": "A String", # Output only. Duration of crawl.
        "distinctVisitedScreens": 42, # Output only. Number of distinct screens visited.
        "mainActivityCrawlTimedOut": True or False, # Output only. Whether the main activity crawl timed out.
      },
      "screenshotUris": [ # Output only. A list of screenshot image URIs taken from the Robo crawl. The file names are numbered by the order in which they were taken.
        "A String",
      ],
      "state": "A String", # Output only. The state of the test.
      "videoUri": "A String", # Output only. A URI to a video of the test run.
    },
  ],
  "displayName": "A String", # Optional. Display name of the release test. Required if the release test is created with multiple goals
  "loginCredential": { # Login credential for automated tests # Optional. Input only. Login credentials for the test. Input only.
    "fieldHints": { # Hints to the crawler for identifying input fields # Optional. Hints to the crawler for identifying input fields
      "passwordResourceName": "A String", # Required. The Android resource name of the password UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
      "usernameResourceName": "A String", # Required. The Android resource name of the username UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
    },
    "google": True or False, # Optional. Are these credentials for Google?
    "password": "A String", # Optional. Password for automated tests
    "username": "A String", # Optional. Username for automated tests
  },
  "name": "A String", # The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`
  "testState": "A String", # Output only. The state of the release test.
}
get(name, x__xgafv=None)
Get results for automated test run on release.

Args:
  name: string, Required. The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The results of running an automated test on a release.
  "aiInstructions": { # Instructions for AI driven test # Optional. Instructions for AI driven test.
    "appDescription": "A String", # Optional. Describes the app to give the AI some context
    "steps": [ # Required. Steps to be accomplished by the AI
      { # A step to be accomplished by the AI
        "assertion": "A String", # An assertion to be checked by the AI
        "goal": "A String", # A goal to be accomplished by the AI
      },
    ],
  },
  "createTime": "A String", # Output only. Timestamp when the test was run.
  "deviceExecutions": [ # Required. The results of the test on each device.
    { # The results of running an automated test on a particular device.
      "aiStepResults": [ # Output only. Results of the AI steps if passed in
        { # Captures the results of an AiStep
          "assertionDetails": { # Details for an assertion step. # Output only. Details for an assertion step.
            "explanation": "A String", # Output only. An explanation justifying the assertion result.
            "result": True or False, # Output only. The result of the assertion.
            "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this assertion.
              "height": 42, # Output only. The height of the screenshot, in pixels.
              "uri": "A String", # Output only. The URI of the screenshot.
              "width": 42, # Output only. The width of the screenshot, in pixels.
            },
          },
          "goalDetails": { # Details for a goal step. # Output only. Details for a goal step.
            "goalActions": [ # Output only. The actions taken by the AI while attempting to accomplish the goal.
              { # An action taken by the AI agent while attempting to accomplish a goal.
                "deviceAction": { # A high level action taken by the AI on the device, potentially involving multiple taps, text entries, waits, etc. # Output only. A high level action taken by the AI on the device.
                  "description": "A String", # Output only. A short description of the high level action taken by the AI agent.
                  "deviceInteractions": [ # Output only. The interactions made with the device as part of this higher level action taken by the agent, such as taps, text entries, waits, etc.
                    { # An interaction with the device, such as a tap, text entry, wait, etc.
                      "keyCode": "A String", # Output only. Key code for a key event action.
                      "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this action. The screen may have changed before the action was actually taken.
                        "height": 42, # Output only. The height of the screenshot, in pixels.
                        "uri": "A String", # Output only. The URI of the screenshot.
                        "width": 42, # Output only. The width of the screenshot, in pixels.
                      },
                      "swipe": { # A swipe action. # Output only. A swipe action.
                        "end": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The end point of the swipe.
                          "xCoordinate": 42,
                          "yCoordinate": 42,
                        },
                        "start": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The start point of the swipe.
                          "xCoordinate": 42,
                          "yCoordinate": 42,
                        },
                      },
                      "tap": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. A tap action.
                        "xCoordinate": 42,
                        "yCoordinate": 42,
                      },
                      "textInput": "A String", # Output only. Text entered for a text entry action.
                      "wait": { # A wait action. # Output only. A wait action.
                        "duration": "A String", # Output only. The duration of the wait.
                      },
                    },
                  ],
                },
                "explanation": "A String", # Output only. An explanation justifying why the action was taken.
                "terminalAction": { # An action taken by the AI to end the goal. # Output only. An action taken by the AI to end the goal.
                  "reason": "A String", # Output only. The reason why this goal was ended.
                  "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this terminal action.
                    "height": 42, # Output only. The height of the screenshot, in pixels.
                    "uri": "A String", # Output only. The URI of the screenshot.
                    "width": 42, # Output only. The width of the screenshot, in pixels.
                  },
                },
              },
            ],
          },
          "state": "A String", # Output only. The current state of the step
          "step": { # A step to be accomplished by the AI # Required. The step performed by the AI
            "assertion": "A String", # An assertion to be checked by the AI
            "goal": "A String", # A goal to be accomplished by the AI
          },
        },
      ],
      "appCrash": { # An app crash that occurred during an automated test. # Output only. An app crash, if any occurred during the test.
        "message": "A String", # Output only. The message associated with the crash.
        "stackTrace": "A String", # Output only. The raw stack trace.
      },
      "crawlGraphUri": "A String", # Output only. A URI to an image of the Robo crawl graph.
      "device": { # A device on which automated tests can be run. # Required. The device that the test was run on.
        "locale": "A String", # Optional. The locale of the device (e.g. "en_US" for US English) during the test.
        "model": "A String", # Required. The device model.
        "orientation": "A String", # Optional. The orientation of the device during the test.
        "version": "A String", # Required. The version of the device (API level on Android).
      },
      "failedReason": "A String", # Output only. The reason why the test failed.
      "inconclusiveReason": "A String", # Output only. The reason why the test was inconclusive.
      "resultsStoragePath": "A String", # Output only. The path to a directory in Cloud Storage that will eventually contain the results for this execution. For example, gs://bucket/Nexus5-18-en-portrait.
      "roboStats": { # Statistics collected during a Robo test. # Output only. The statistics collected during the Robo test.
        "actionsPerformed": 42, # Output only. Number of actions that crawler performed.
        "crawlDuration": "A String", # Output only. Duration of crawl.
        "distinctVisitedScreens": 42, # Output only. Number of distinct screens visited.
        "mainActivityCrawlTimedOut": True or False, # Output only. Whether the main activity crawl timed out.
      },
      "screenshotUris": [ # Output only. A list of screenshot image URIs taken from the Robo crawl. The file names are numbered by the order in which they were taken.
        "A String",
      ],
      "state": "A String", # Output only. The state of the test.
      "videoUri": "A String", # Output only. A URI to a video of the test run.
    },
  ],
  "displayName": "A String", # Optional. Display name of the release test. Required if the release test is created with multiple goals
  "loginCredential": { # Login credential for automated tests # Optional. Input only. Login credentials for the test. Input only.
    "fieldHints": { # Hints to the crawler for identifying input fields # Optional. Hints to the crawler for identifying input fields
      "passwordResourceName": "A String", # Required. The Android resource name of the password UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
      "usernameResourceName": "A String", # Required. The Android resource name of the username UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
    },
    "google": True or False, # Optional. Are these credentials for Google?
    "password": "A String", # Optional. Password for automated tests
    "username": "A String", # Optional. Username for automated tests
  },
  "name": "A String", # The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`
  "testState": "A String", # Output only. The state of the release test.
}
list(parent, pageSize=None, pageToken=None, view=None, x__xgafv=None)
List results for automated tests run on release.

Args:
  parent: string, Required. The name of the release resource, which is the parent of the tests Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}` (required)
  pageSize: integer, Optional. The maximum number of tests to return. The service may return fewer than this value.
  pageToken: string, Optional. A page token, received from a previous `ListReleaseTests` call. Provide this to retrieve the subsequent page.
  view: string, Optional. The requested view on the returned ReleaseTests. Defaults to the basic view.
    Allowed values
      RELEASE_TEST_VIEW_UNSPECIFIED - The default / unset value. The default view depends on the RPC.
      RELEASE_TEST_VIEW_BASIC - Include basic metadata about the release test and its status, but not the full result details. This is the default value for ListReleaseTests.
      RELEASE_TEST_VIEW_FULL - Include everything.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response message for `ListReleaseTests`.
  "nextPageToken": "A String", # A short-lived token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.
  "releaseTests": [ # The tests listed.
    { # The results of running an automated test on a release.
      "aiInstructions": { # Instructions for AI driven test # Optional. Instructions for AI driven test.
        "appDescription": "A String", # Optional. Describes the app to give the AI some context
        "steps": [ # Required. Steps to be accomplished by the AI
          { # A step to be accomplished by the AI
            "assertion": "A String", # An assertion to be checked by the AI
            "goal": "A String", # A goal to be accomplished by the AI
          },
        ],
      },
      "createTime": "A String", # Output only. Timestamp when the test was run.
      "deviceExecutions": [ # Required. The results of the test on each device.
        { # The results of running an automated test on a particular device.
          "aiStepResults": [ # Output only. Results of the AI steps if passed in
            { # Captures the results of an AiStep
              "assertionDetails": { # Details for an assertion step. # Output only. Details for an assertion step.
                "explanation": "A String", # Output only. An explanation justifying the assertion result.
                "result": True or False, # Output only. The result of the assertion.
                "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this assertion.
                  "height": 42, # Output only. The height of the screenshot, in pixels.
                  "uri": "A String", # Output only. The URI of the screenshot.
                  "width": 42, # Output only. The width of the screenshot, in pixels.
                },
              },
              "goalDetails": { # Details for a goal step. # Output only. Details for a goal step.
                "goalActions": [ # Output only. The actions taken by the AI while attempting to accomplish the goal.
                  { # An action taken by the AI agent while attempting to accomplish a goal.
                    "deviceAction": { # A high level action taken by the AI on the device, potentially involving multiple taps, text entries, waits, etc. # Output only. A high level action taken by the AI on the device.
                      "description": "A String", # Output only. A short description of the high level action taken by the AI agent.
                      "deviceInteractions": [ # Output only. The interactions made with the device as part of this higher level action taken by the agent, such as taps, text entries, waits, etc.
                        { # An interaction with the device, such as a tap, text entry, wait, etc.
                          "keyCode": "A String", # Output only. Key code for a key event action.
                          "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this action. The screen may have changed before the action was actually taken.
                            "height": 42, # Output only. The height of the screenshot, in pixels.
                            "uri": "A String", # Output only. The URI of the screenshot.
                            "width": 42, # Output only. The width of the screenshot, in pixels.
                          },
                          "swipe": { # A swipe action. # Output only. A swipe action.
                            "end": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The end point of the swipe.
                              "xCoordinate": 42,
                              "yCoordinate": 42,
                            },
                            "start": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. The start point of the swipe.
                              "xCoordinate": 42,
                              "yCoordinate": 42,
                            },
                          },
                          "tap": { # Point for describing bounding boxes tap locations Top left is 0,0 # Output only. A tap action.
                            "xCoordinate": 42,
                            "yCoordinate": 42,
                          },
                          "textInput": "A String", # Output only. Text entered for a text entry action.
                          "wait": { # A wait action. # Output only. A wait action.
                            "duration": "A String", # Output only. The duration of the wait.
                          },
                        },
                      ],
                    },
                    "explanation": "A String", # Output only. An explanation justifying why the action was taken.
                    "terminalAction": { # An action taken by the AI to end the goal. # Output only. An action taken by the AI to end the goal.
                      "reason": "A String", # Output only. The reason why this goal was ended.
                      "screenshot": { # A device screenshot taken during a test. # Output only. The screenshot used in the context of this terminal action.
                        "height": 42, # Output only. The height of the screenshot, in pixels.
                        "uri": "A String", # Output only. The URI of the screenshot.
                        "width": 42, # Output only. The width of the screenshot, in pixels.
                      },
                    },
                  },
                ],
              },
              "state": "A String", # Output only. The current state of the step
              "step": { # A step to be accomplished by the AI # Required. The step performed by the AI
                "assertion": "A String", # An assertion to be checked by the AI
                "goal": "A String", # A goal to be accomplished by the AI
              },
            },
          ],
          "appCrash": { # An app crash that occurred during an automated test. # Output only. An app crash, if any occurred during the test.
            "message": "A String", # Output only. The message associated with the crash.
            "stackTrace": "A String", # Output only. The raw stack trace.
          },
          "crawlGraphUri": "A String", # Output only. A URI to an image of the Robo crawl graph.
          "device": { # A device on which automated tests can be run. # Required. The device that the test was run on.
            "locale": "A String", # Optional. The locale of the device (e.g. "en_US" for US English) during the test.
            "model": "A String", # Required. The device model.
            "orientation": "A String", # Optional. The orientation of the device during the test.
            "version": "A String", # Required. The version of the device (API level on Android).
          },
          "failedReason": "A String", # Output only. The reason why the test failed.
          "inconclusiveReason": "A String", # Output only. The reason why the test was inconclusive.
          "resultsStoragePath": "A String", # Output only. The path to a directory in Cloud Storage that will eventually contain the results for this execution. For example, gs://bucket/Nexus5-18-en-portrait.
          "roboStats": { # Statistics collected during a Robo test. # Output only. The statistics collected during the Robo test.
            "actionsPerformed": 42, # Output only. Number of actions that crawler performed.
            "crawlDuration": "A String", # Output only. Duration of crawl.
            "distinctVisitedScreens": 42, # Output only. Number of distinct screens visited.
            "mainActivityCrawlTimedOut": True or False, # Output only. Whether the main activity crawl timed out.
          },
          "screenshotUris": [ # Output only. A list of screenshot image URIs taken from the Robo crawl. The file names are numbered by the order in which they were taken.
            "A String",
          ],
          "state": "A String", # Output only. The state of the test.
          "videoUri": "A String", # Output only. A URI to a video of the test run.
        },
      ],
      "displayName": "A String", # Optional. Display name of the release test. Required if the release test is created with multiple goals
      "loginCredential": { # Login credential for automated tests # Optional. Input only. Login credentials for the test. Input only.
        "fieldHints": { # Hints to the crawler for identifying input fields # Optional. Hints to the crawler for identifying input fields
          "passwordResourceName": "A String", # Required. The Android resource name of the password UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
          "usernameResourceName": "A String", # Required. The Android resource name of the username UI element. For example, in Java: R.string.foo in xml: @string/foo Only the "foo" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html
        },
        "google": True or False, # Optional. Are these credentials for Google?
        "password": "A String", # Optional. Password for automated tests
        "username": "A String", # Optional. Username for automated tests
      },
      "name": "A String", # The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`
      "testState": "A String", # Output only. The state of the release test.
    },
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.