# RESPECT App Maestro tests ## Development environment setup: * Complete development environment setup as per main [README](../README.md) * Install [Maestro CLI](https://github.com/mobile-dev-inc/Maestro/releases). ## Run an individual test: * Build the project as per the main [README](../README.md) * Start respect-server and add a school as per the main project README. * Install the APK on the Android Emulator or device being used to run tests e.g. run project using Android Studio, drag/drop file onto Android emulator, or install using adb command: ``` adb install ./respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk ``` * Run test using Maestro CLI (specify the school URL and admin password): ``` maestro test \ -e SCHOOL_URL=http://192.168.1.2:8094/ \ -e SCHOOL_ADMIN_PASSWORD=adminpassword \ -e SCHOOL_NAME=TestSchool .maestro/flows/flow_name.yaml ``` Where: * ```SCHOOL_URL``` is the URL for the school as used with the addschool command as as per the main [README](../README.md) * ```SCHOOL_ADMIN_PASSWORD``` is the password for the admin user for the school (also as per addschool command) * ```SCHOOL_NAME``` is the name of the school (also as per addschool command) ## Testing using HTTPS ## Run multiple tests (suite) Running multiple tests with Maestro requires a blank server installation for each test. [TestServerController](https://github.com/UstadMobile/TestServerController) is used to start/stop a new blank server instance on a free port as required. See run-maestro-ci.sh (work in progress).