zebrunner / mcloud-agent

18 stars 11 forks source link

Zebrunner Device Farm (Android and iOS agent)

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

Zebrunner

Hardware requirements

Requirements
Operating System Ubuntu 16.04, 18.04, 20.04, 21.04, 22.04
Linux CentOS 7+
Amazon Linux2
MacOS (Ventura)
CPU 8+ Cores
Memory 32 Gb RAM
Free space SSD 128Gb+ of free space

Software prerequisites

Clone and setup

Run ansible playbook

Linux OS

Mac OS

Usage

Android devices

iOS devices

Automation steps

Build WebDriverAgent.ipa

You need an Apple Developer account to sign in and build WebDriverAgent.

  1. Open WebDriverAgent.xcodeproj in Xcode.
  2. Ensure a team is selected before building the application. To do this, go to Targets and select each target (one at a time). There should be a field for assigning team certificates to the target.
  3. Remove your WebDriverAgent folder from DerivedData and run Clean build folder (just in case).
  4. Build the application by selecting the WebDriverAgentRunner target and build for Generic iOS Device. Run Product -> Build for testing. This will create a Products/Debug-iphoneos in the specified project directory.
    Example: /Users/$USER/Library/Developer/Xcode/DerivedData/WebDriverAgent-dzxbpamuepiwamhdbyvyfkbecyer/Build/Products/Debug-iphoneos
  5. Go to the "Products/Debug-iphoneos" directory and run: mkdir Payload
  6. Copy the WebDriverAgentRunner-Runner.app to the Payload directory: cp -r WebDriverAgentRunner-Runner.app Payload
  7. Finally, zip up the project as an *.ipa file: zip -r WebDriverAgent.ipa ./Payload

    Make sure to specify relative ./Payload to archive only Payload folder content

  8. Share built ipa via WDA_FILE variable in roles/devices/vars/main.yml file.

    to override WDA_FILE artifacts per each device use wda_file and wda_bundleid iOS device properties and re-execute ansible playbook.

SmartTestFarm

Troubleshooting

Follow the below algorithm to identify any configuration issues with MCloud agent:

Documentation and free support

License

Code - Apache Software License v2.0

Documentation and Site - Creative Commons Attribution 4.0 International License