For the complete documentation index, see llms.txt. This page is also available as Markdown.

setPermissions

Grant or deny app permissions during flow execution.

The setPermissions command configures permissions for an application. While the launchApp command performs this action by default, you can use setPermissions at other points in a flow, such as before a deeplink.

setPermissions is available on Android and iOS.

Maestro has no control over Chrome’s permissions.

Parameters

Parameter
Description

permissions

A map of permissions to set. The key is the permission name, and the value is either allow or deny. Use the all key to apply a state to all permissions.

appId

(Optional) The ID of the app to target. Defaults to the app under test.

All parameters can be set via a variable or a JavaScript expression.

Usage examples

The following examples demonstrate how to use the setPermissions command.

Grant all permissions

This example grants all permissions to the app under test.

- setPermissions:
    permissions:
      all: allow

Set specific permissions for another app

This example sets the camera permission to allow and the notifications permission to deny for the app with the ID com.example.app.

Set a permission from a variable

Permission values are interpolated, so you can drive them from a parameter or an environment variable and run the same Flow for both the granted and denied cases.

Learn how to use permissions on iOS and Android apps on flows.

Last updated