{"adoption": {"forks": 379, "observed_at": "2026-08-28T04:04:33.766089+00:00", "stars": 1379}, "canonical_url": "https://ross.abutalabs.com/products/gautomator", "card": {"archived": false, "artifact_type": "framework", "description": " Automation for mobile games", "domain": ["testing", "mobile-development"], "enriched": true, "function": ["testing", "e2e-testing"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["Tencent/GAutomator"], "name": "Tencent/GAutomator", "platform": ["python", "cross-platform"], "pushed_at": "2023-06-18T15:52:28+00:00", "repo": "Tencent/GAutomator", "stars": 1379, "tags": ["game-testing", "ui-automation", "unity", "ue4", "mobile-games", "uiautomator", "game-development", "automation", "android", "ios"], "topics": [], "urls": [], "use_cases": ["automate ui testing for unity mobile games", "write python test scripts for android game automation", "test ios games via webdriveragent", "run one test script across devices with different resolutions", "interact with gameobjects in unity or ue4 during tests"], "what_it_is": "GAutomator is an open-source UI automation testing framework for mobile games, modeled after Android's uiautomator. It interacts with game engine elements like Unity GameObjects via an integrated SDK, allowing a single Python test script to run across devices regardless of resolution.", "when_to_avoid": ["you cannot or will not integrate an sdk into your game build", "you test non-game mobile apps where standard uiautomator or appium suffices", "you need a framework with an active community and clear licensing"], "when_to_choose": ["you need automated ui testing for unity or ue4 mobile games", "you want resolution-independent tests based on engine elements rather than screen coordinates", "you test across both android and ios with python scripts"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gautomator", "repo": "Tencent/GAutomator", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.766089+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:17.842252+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64fd18ea36899881b1a1a45167003857935624ea7eb943b494714c39f0bda499", "fetched_at": "2026-08-28T04:04:33.766089+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/GAutomator"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3561, "days_push": 1172, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}