Skip to content

zebrunner/mcloud

Repository files navigation

Zebrunner MCloud

Zebrunner MCloud is a Device Farm for automated test execution (Appium) and remote web access by humans to physical devices (Android and iOS) including phones, tablets, and TVs. It is fully integrated into the Zebrunner (Community Edition) ecosystem and can be used both for manual and automated testing.

  • It is built on top of OpenSTF and supports iOS devices remote control.

Feel free to support the development with a donation for the next improvements.

Zebrunner

System requirements

Hardware requirements

Requirements
Operating System Ubuntu 24.04
Linux CentOS 7+
Amazon Linux 2
MacOS
CPU 4+ Cores
Memory 16 Gb RAM
Free space SSD 32Gb+ of free space

Software requirements

  • Installed Docker v27+

  • Installed Docker compose as a plugin

  • Installed git 2.20.0+

Usage

  1. Clone mcloud and set up:
    git clone https://github.com/zebrunner/mcloud.git && cd mcloud && ./zebrunner.sh setup
    

    Provide valid protocol, hostname, and port

  2. Start services ./zebrunner.sh start
  3. Open http://hostname:80/stf
  4. Log in using any name/email values as auth-mock is configured by default
  5. Goto Settings->Keys and generate new Access Token
  6. Paste generated token into the variables.env for STF_TOKEN var
  7. Restart services using ./zebrunner.sh restart
  8. Set up the servers with Android and iOS devices according to mcloud-agent

    mcloud-ios is deprecated. Use the same mcloud-agent to setup on MacOS too!

  9. Use http://hostname:80/mcloud/grid/console to see connected devices and http://hostname:80/mcloud/wd/hub as Selenium/Appium hub url for test automation.

Follow the installation and configuration guide in Zebrunner CE to reuse MCloud components effectively for Test Automation.

Components

  • mcloud-agent - Device Farm agent for connecting physical Android and iOS devices including phones, tablets, and TVs via Linux or MacOS.
  • mcloud-device - Dockerized STF provider image for Android and iOS devices.
  • mcloud-grid - Enhanced Selenium Grid for automating physical devices and emulators/simulators via Appium.
  • appium - Enhanced Appium image with low-level video recording and local storage for ipa/apk artifacts.
  • mcloud-redroid - GPU accelerated Android In Cloud solution

Documentation and free support

License

Code - Apache Software License v2.0

Documentation and Site - Creative Commons Attribution 4.0 International License