Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Marathon Runner

Marathon Runner

GPL-2.0Kotlin0.10.4

A fast, platform-independent test runner for Android and iOS that optimizes for execution speed and stability.

Visit WebsiteGitHubGitHub
639 stars123 forks0 contributors

What is Marathon Runner?

Marathon is a cross-platform test runner that executes tests for Android and iOS applications with a focus on speed and reliability. It addresses flakiness in tests and environments through strategies like preventive retries, test sorting, and sharding, optimizing the balance between performance and stability. The tool provides platform-specific configurations and supports custom hardware farms via its API.

Target Audience

Mobile developers and QA engineers working on Android and iOS applications who need efficient, reliable test execution in CI/CD pipelines. It's particularly useful for teams dealing with flaky tests or large test suites requiring parallel execution.

Value Proposition

Developers choose Marathon for its fine-grained control over test execution stability and performance, reducing test run times while managing flakiness. Its platform-independent design and support for custom hardware farms offer flexibility beyond standard cloud testing services.

Overview

Cross-platform test runner

Use Cases

Best For

  • Running large test suites for Android and iOS apps in parallel
  • Reducing flaky test failures in CI/CD pipelines
  • Optimizing test execution time for mobile applications
  • Managing test runs across custom device farms or simulators
  • Balancing test stability with execution speed and cost
  • Integrating automated testing for cross-platform mobile projects

Not Ideal For

  • Projects requiring testing for web or desktop applications
  • Teams with very small test suites that don't need advanced parallelization features
  • Organizations that prefer fully managed, cloud-native testing solutions without infrastructure management

Pros & Cons

Pros

Advanced Performance Optimization

Implements test batching, sharding, and sorting to reduce execution time, prioritizing longer tests to minimize retry impact, as described in the performance overview.

Robust Stability Features

Uses preventive retries based on real-time statistics and post-factum retries with quotas to handle flaky tests effectively, addressing environment and test instability.

Cross-Platform Mobile Support

Provides easy-to-use configurations for Android and iOS via Marathonfile, and an API for custom hardware farms, enabling flexible test execution across platforms.

Full Control Over Execution

Allows teams to balance stability, performance, and cost through customizable configurations, aligning with its philosophy of optimizing testing workflows.

Cons

Complex iOS Device Setup

Requires manual provision of simulator UDIDs or profiles via a Marathondevices file, which can be tedious and error-prone, especially for dynamic environments.

Java Runtime Dependency

Requires JRE 17 or higher, adding an extra layer of infrastructure management for teams not already using Java in their stack.

Limited Platform Scope

Focused solely on Android and iOS, so it lacks built-in support for other application types like web or desktop, limiting its versatility.

Frequently Asked Questions

Quick Stats

Stars639
Forks123
Contributors0
Open Issues58
Last commit2 months ago
CreatedSince 2018

Tags

#uitest#ios#testing-tool#test-runner#marathon#performance-optimization#android#mobile-testing#ci-cd#testing#espresso#test-automation#android-testing#parallel-testing#ios-testing

Built With

J
Java

Links & Resources

Website

Included in

iOS51.7k
Auto-fetched 12 hours ago

Related Projects

KifKif

Keep It Functional - An iOS Functional Testing Framework

Stars6,243
Forks917
Last commit19 hours ago
EarlGreyEarlGrey

:tea: iOS UI Automation Test Framework

Stars5,682
Forks735
Last commit1 day ago
BluepillBluepill

Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine

Stars3,205
Forks230
Last commit1 year ago
ViewInspectorViewInspector

Runtime introspection and unit testing of SwiftUI views

Stars2,617
Forks189
Last commit3 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub