From cdb3e451e1a6d72f6e47dd7dcc6f83265d0e8a83 Mon Sep 17 00:00:00 2001 From: Aman Chopra Date: Mon, 7 Oct 2024 11:54:54 +0530 Subject: [PATCH] maestro testing doc --- docs/hyperexecute-maestro-testing.md | 98 +++++----------------------- 1 file changed, 15 insertions(+), 83 deletions(-) diff --git a/docs/hyperexecute-maestro-testing.md b/docs/hyperexecute-maestro-testing.md index c3960aa7a..ce248b417 100644 --- a/docs/hyperexecute-maestro-testing.md +++ b/docs/hyperexecute-maestro-testing.md @@ -51,7 +51,6 @@ import TabItem from '@theme/TabItem'; This page outlines how to execute your Maestro tests on HyperExecute with [YAML 0.2](/support/docs/hyperexecute-yaml-version0.2/) ## Prerequisites - To run the Tests on HyperExecute from your Local System, you are required: - Your LambdaTest [Username and Access key](/support/docs/hyperexecute-how-to-get-my-username-and-access-key/) @@ -60,23 +59,17 @@ To run the Tests on HyperExecute from your Local System, you are required: - [HyperExecute YAML](/support/docs/hyperexecute-yaml-version0.2/) file which contains all the necessary instructions. ## Step 1: Setup Your Test Suite - You can use your own project to configure and test it. For demo purposes, we are using the sample repository. :::tip Sample repo - Download or Clone the code sample for the Maestro framework from the LambdaTest GitHub repository to run the tests on the HyperExecute. - Image View on GitHub - ::: ## Step 2: Setup the CLI in your Test Suite - After cloning / downloading the sample repo, you need to setup the CLI and the environment variables. ### Download the HyperExecute CLI - The CLI is used for triggering the tests on HyperExecute. It is recommend to download the CLI binary on the host system and keep it in the root directory of the suite to perform the tests on HyperExecute. You can download the CLI for your desired platform from the below mentioned links: @@ -88,13 +81,11 @@ You can download the CLI for your desired platform from the below mentioned link | Linux | https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute | ### Setup Environment Variable - Now, you need to export your environment variables *LT_USERNAME* and *LT_ACCESS_KEY* that are available in the [LambdaTest Profile page](https://accounts.lambdatest.com/detail/profile). Run the below mentioned commands in your terminal to setup the CLI and the environment variables. -
@@ -119,8 +110,7 @@ set LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`} ## Step 3: Upload your Application - -Upload your _android_ application (.apk file) to the LambdaTest servers using our REST API. You need to provide your Username and AccessKey in the format `Username:AccessKey` in the cURL command for authentication. +Upload your _android_ application (.apk file) or iOS application (.ipa file) to the LambdaTest servers using our REST API. You need to provide your Username and AccessKey in the format `Username:AccessKey` in the cURL command for authentication. :::info Enter your local path of the code repository instead of `` in the below cURL command. @@ -133,85 +123,28 @@ Enter your local path of the code repository instead of ``
- > Response of above cURL will be a **JSON** object containing the `App ID` of the format - `` and will be used in the next step. ## Step 4: Configure YAML in your Test Suite +Enter your `APP_ID` in the YAML file that you have fetched in the above step. -Enter your `` in the YAML file (line 52) that you have fetched in the above step. + + -```yaml ---- -# Define the version of the configuration file -version: "0.2" - -# Specify the target platform for test execution (Android in this case) -runson: android - -# Enable autosplit for test execution -autosplit: true - -# Set the concurrency level for test execution (2 devices in parallel) -concurrency: 1 - -# Only report the status of the test framework -frameworkStatusOnly: true - -# Enable dynamic allocation of resources -dynamicAllocation: true - -# Pre-install required dependencies using pip -# will need java and maestro inside the container -pre: - - chmod +x ./maestro-test/setup-script.sh - -env: - MAESTRO: true - -# Test discovery configuration -testDiscovery: - # Command to discover tests from the test.txt file - command: cat ./maestro-test/discover.txt - # Test discovery mode can be static/dynamic - mode: static - # Test type is raw (custom test implementation) - type: raw - -# Command to run the tests using the testRunnerCommand -testRunnerCommand: ./maestro-test/runTest.sh $test - -# Test framework configuration -framework: - # Name of the test framework (raw in this case) - name: raw - args: - # List of devices to run tests on (two Pixel 5 devices in this case) - devices: ["Galaxy S22 Ultra 5G"] - # Enable or disable video recording support - video: true - # Enable or disable device log support - deviceLog: true - # App ID to be installed (mandatory field, using ) - # highlight-next-line - appId: lt:// - # Build name for identification on the automation dashboard - buildName: maestro-t1 - # All devices are in a private cloud - privateCloud: true - # Timeout for device queue - queueTimeout: 600 - # Configuration fields specific to running raw tests - region: ap - disableReleaseDevice: true - isRealMobile: true - reservation: false - platformName: android - -jobLabel: [maestro-testing, android, autosplit] +```yaml reference title="hyperexecute.yaml" +https://github.com/LambdaTest/maestro-sample-test/blob/main/yaml/maestro.yaml ``` + -## Step 5: Execute your Test Suite + + +```yaml reference title="hyperexecute.yaml" +https://github.com/LambdaTest/maestro-sample-test/blob/ios-simulator/maestro.yaml +``` + + +## Step 5: Execute your Test Suite > **NOTE :** In case of MacOS, if you get a permission denied warning while executing CLI, simply run **`chmod u+x ./hyperexecute`** to allow permission. In case you get a security popup, allow it from your **System Preferences** → **Security & Privacy** → **General tab**. Run the below command in your terminal at the root folder of the project: @@ -231,7 +164,6 @@ OR use this command if you have not exported your username and access key in the JUnit HyperExecute Terminal Logs ## Step 6: Monitor the Test Execution - Visit the [HyperExecute Dashboard](https://hyperexecute.lambdatest.com/hyperexecute) and check your Job status. automation-dashboard \ No newline at end of file