# Flow Control and Logic

- [Flow control and logic overview](/maestro-flows/flow-control-and-logic/flow-control-and-logic-overview.md): Overview of flow control: conditions, loops, nested flows, and hooks.
- [How to use Selectors](/maestro-flows/flow-control-and-logic/how-to-use-selectors.md): Learn to identify UI elements using text, ID, position, and state selectors.
- [Nested flows](/maestro-flows/flow-control-and-logic/nested-flows.md): Reuse test logic by calling subflows from parent flows with runFlow.
- [Wait commands](/maestro-flows/flow-control-and-logic/wait-commands.md): Control timing with wait commands for animations, network calls, and UI updates.
- [Loops](/maestro-flows/flow-control-and-logic/loops.md): Repeat actions using the repeat command for iterative test scenarios.
- [Conditions](/maestro-flows/flow-control-and-logic/conditions.md): Execute commands conditionally based on visibility, platform, or custom expressions.
- [Parameters and constants](/maestro-flows/flow-control-and-logic/parameters-and-constants.md): Pass dynamic values to flows using CLI parameters and inline constants.
- [Specify and start devices](/maestro-flows/flow-control-and-logic/specify-and-start-devices.md): Learn how to launch Android and iOS virtual devices using the Maestro CLI, identify connected hardware, and target specific devices for local testing.
- [Hooks](/maestro-flows/flow-control-and-logic/hooks.md): Learn how to use onFlowStart and onFlowComplete hooks for setup and cleanup automation.
- [Test in different locales](/maestro-flows/flow-control-and-logic/test-in-different-locales.md): Test your app in multiple languages and regions using locale configuration.
- [Locales supported by Maestro](/maestro-flows/flow-control-and-logic/test-in-different-locales/locales-supported-by-maestro.md): Complete list of locale codes supported by Maestro for internationalization testing.
- [Permissions](/maestro-flows/flow-control-and-logic/permissions.md): Configure app permissions on launch or mid-flow for iOS and Android testing.
- [Detect Maestro](/maestro-flows/flow-control-and-logic/detect-maestro.md): Detect when your app is running under Maestro automation for test-specific behavior.
