Skip to content

Fix macOS Appium log noise, emulator auto-launch, and iOS device detection#721

Merged
mahbd merged 2 commits into
devfrom
fix-mac-emulator-launch
Jul 22, 2026
Merged

Fix macOS Appium log noise, emulator auto-launch, and iOS device detection#721
mahbd merged 2 commits into
devfrom
fix-mac-emulator-launch

Conversation

@mdshakib007

Copy link
Copy Markdown
Collaborator

Summary

Fixes several macOS-specific mobile automation issues (some introduced by #720), without changing the working Windows/Linux behavior.

  • Quiet console on macOS/Linux — redirect the Appium server's output to AutomationLog/appium_server.log (matching how Windows hides it), and silence idevice_id: command not found noise. Console now shows only ZeuZ logs.
  • Show errors on failure — when the Appium driver fails to start, echo the Appium log tail (ANSI-stripped) to the console, so suppressing noise never hides the real cause.
  • Android emulator auto-launch on macOS — pick the SDK root that actually holds the AVD's system image (managed SDK first, so Windows/Linux are unchanged), fixing Broken AVD system path.
  • iOS device detection (Add automatic Android emulator startup and headless execution #720 regression) — derive the target platform from the server-deployed device, not the node's dependency["Mobile"], so iOS tests stop failing with "Could not detect a connected android device".

Files

  • Mobile/CrossPlatform/Appium/BuiltInFunctions.py
  • Web/Selenium/BuiltInFunctions.py
  • Mobile/iOS/iosOptions.py
  • Utilities/All_Device_Info.py
  • install_handler/android/emulator_manager.py

Note

The xcodebuild code 70 during iOS bring-up was environmental (missing iOS simulator platform for Xcode), not a code issue — now visible in the console via the error-surfacing change.

…und errors in iOS and Android device info retrieval
…val, surface recent logs on failure, and improve device type detection logic.
@mdshakib007 mdshakib007 self-assigned this Jul 22, 2026
@riz-hossain

Copy link
Copy Markdown
Contributor

🔎 ZeuZ PR Review

Open the full report in ZeuZ: Review findings and apply suggestions

Overview Value
Agents ✅ 4 completed
Suggestions 💡 5

Agent breakdown

→ General Review

Status: ✅ Completed
Suggestions: 1 suggestion

One regression risk stands out: the new fallback path for first-run device selection can bypass platform filtering and pick the wrong deployed device when local detection is empty. The rest of the changes look consistent with the stated goals and are mostly low-risk logging/environment improvements.

→ Security Review

Status: ✅ Completed
Suggestions: 0 suggestions

No high-signal security issues found in the PR diff. The changes mainly redirect noisy subprocess output to log files and improve device/emulator selection logic without introducing a clear auth, injection, or secret-handling regression.

→ Performance Review

Status: ✅ Completed
Suggestions: 2 suggestions

Found one resource-usage issue: the new Appium log redirection opens a file handle for every server launch but never closes it in the parent process, which can leak descriptors across repeated runs. I also noted an optional optimization opportunity in emulator SDK root resolution, but it is lower priority.

→ Testing Review

Status: ✅ Completed
Suggestions: 2 suggestions

The PR changes core device-selection and emulator-launch behavior, but the existing test suite does not cover the new regression paths. I found two high-signal gaps: Android emulator SDK/image resolution and the Appium/iOS device-detection/log-surfacing paths.

Open ZeuZ to inspect full findings, continue an agent conversation, or apply safe patch suggestions.

@mahbd
mahbd merged commit d0fbacf into dev Jul 22, 2026
7 checks passed
@mahbd
mahbd deleted the fix-mac-emulator-launch branch July 22, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants