Mac上Appium iOS环境搭建:Xcode、WDA签名与命令行工具链深度解析
1. 为什么Mac上搭Appium不是“装个软件就完事”——从三个真实翻车现场说起你是不是也经历过在Mac上照着某篇教程一行行敲完brew install node、npm install -g appium、appium --allow-cors终端里绿色的Appium Server started字样一跳出来就以为大功告成结果一跑脚本直接报错Could not find a device to launch或者Error: Could not find the Xcode project再或者更魔幻的——模拟器启动了但Appium死活连不上日志里反复刷着Waiting for device to be ready...。我去年帮团队三位新同事配环境每人平均花了17小时才真正跑通第一个iOS自动化用例。不是他们不努力而是Mac上Appium的坑根本不在Appium本身而在它背后那套精密咬合的“工具链齿轮组”Xcode版本、Command Line Tools绑定、iOS模拟器状态、WebDriverAgent签名、甚至macOS系统级的安全策略只要其中一颗齿轮错位半毫米整个自动化流水线就卡死不动。软件测试/测试开发丨Mac Appium环境搭建这个标题表面看是技术安装指南实则是一场对Mac底层开发生态的理解考试。它不考你会不会复制粘贴命令而考你是否清楚xcode-select --install和xcode-select --switch /Applications/Xcode.app/Contents/Developer这两条命令的本质区别是否明白WebDriverAgentRunner在Xcode里点“Run”能成功但用命令行xcodebuild构建却失败问题大概率出在钥匙串里的开发者证书信任设置是否知道appium-doctor报告“OK”的背后可能藏着一个未被检测到的carthage缓存污染。这篇文章就是把这整套齿轮组拆开一颗一颗给你擦亮、校准、重新咬合。它适合两类人一是刚转岗测试开发、手握MacBook却对着Appium文档发懵的新人二是带团队的TL需要一份能直接甩给下属、避免重复踩坑的“防翻车手册”。接下来的内容没有一句废话全是我在23个真实项目中亲手拧紧的螺丝钉。2. 核心依赖链全景图Xcode、Node.js、Carthage、WebDriverAgent如何环环相扣Appium在Mac上跑iOS自动化本质是让Node.js服务Appium Server通过Xcode构建的WebDriverAgentWDA去操控iOS模拟器或真机。这看似简单的三段式链条实际由五层依赖紧密咬合而成。任何一层版本不匹配、路径未注册、权限未授予都会导致链条断裂。下面这张表不是罗列工具而是揭示它们之间不可见的“契约关系”依赖组件关键作用版本强约束条件常见断裂点验证命令macOS系统提供底层运行时与安全框架macOS 12.6适配Xcode 14若用Xcode 15需macOS 13.5系统升级后Xcode自动更新导致旧版WDA构建失败sw_versXcode编译WebDriverAgent、管理模拟器、提供iOS SDK必须与目标iOS版本匹配如测iOS 17.4需Xcode 15.3同一Mac禁用多版本共存Xcode更新后Command Line Tools未同步切换模拟器Runtime未安装对应iOS版本xcode-select -pxcodebuild -showsdksCommand Line Tools (CLT)为xcodebuild等命令提供编译环境必须与当前Xcode主版本一致Xcode 15.x → CLT for Xcode 15.x系统自带CLT与Xcode不匹配xcode-select --install安装的是旧版xcode-select -vpkgutil --pkg-infocom.apple.pkg.CLTools_ExecutablesCarthage下载并构建WebDriverAgent依赖的第三方库如RoutingHTTPServerCarthage 1.0推荐1.2.0低于0.39.0无法兼容Xcode 15Carthage缓存损坏导致WDA构建失败carthage update卡在Fetching dependenciescarthage versionls -la ~/Library/Caches/org.carthage.CarthageKitWebDriverAgent (WDA)iOS端的“遥控器”接收Appium指令并执行UI操作必须由当前XcodeCLT构建不能直接下载预编译包WDA工程签名失败证书/Bundle ID/Team ID钥匙串中开发者证书未设为“始终信任”cd /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination idXXXX test这张表的核心逻辑是Xcode是国王CLT是它的御前侍卫Carthage是负责采购军需的后勤官WebDriverAgent是前线作战部队而Appium Server只是发布作战指令的指挥部。指挥部再强大如果后勤官买错了弹药Carthage版本不对或者侍卫没听清国王的口谕CLT未绑定正确Xcode前线部队WDA就永远无法投入战斗。举个最典型的“静默失败”案例某同事用MacBook Pro M1芯片装了Xcode 15.2appium-doctor全绿appium启动成功但一运行脚本就报Error: Unable to launch WebDriverAgent because of xcodebuild failure: Command carthage bootstrap... exited with code 1。排查三天最终发现是Carthage 0.38.0与Xcode 15.2的Swift 5.9编译器存在ABI不兼容。解决方案不是重装Appium而是brew uninstall carthage brew install carthage1.2.0再清理Carthage缓存rm -rf ~/Library/Caches/org.carthage.CarthageKit。这个坑appium-doctor根本检测不到因为它只检查Carthage是否存在不检查其与Xcode的兼容性。提示不要迷信appium-doctor。它只是一个基础体检工具就像血压计能测血压但测不出冠状动脉是否堵塞。真正的健康评估必须深入到每个组件的构建日志和运行时上下文。3. Xcode与Command Line Tools的绑定陷阱为什么xcode-select --install是最大误区在Mac上配置iOS自动化环境90%的“玄学问题”根源都藏在Xcode与Command Line ToolsCLT的绑定关系里。很多人第一步就栽在这里看到教程说“先装Xcode再运行xcode-select --install”于是傻乎乎地敲下回车然后发现后续所有xcodebuild命令都报错error: unable to find utility xcodebuild。这不是你的错是Apple官方文档埋下的一个经典认知陷阱。xcode-select --install这条命令的真实作用是从Apple服务器下载并安装一个独立于Xcode应用的、精简版的CLT包。它包含clang、xcodebuild、git等核心命令行工具但不包含iOS SDK、模拟器、Interface Builder等Xcode专属组件。当你已经安装了完整版Xcode比如/Applications/Xcode.app再执行xcode-select --install系统会陷入一种“身份混淆”状态xcode-select -p返回的路径可能是/Library/Developer/CommandLineTools指向独立CLT而xcodebuild -showsdks却显示找不到iOS SDK——因为独立CLT里压根没有iOS SDK正确的绑定流程必须分三步走且顺序不可颠倒3.1 第一步确认Xcode已安装并授权打开/Applications/Xcode.app首次启动会提示安装额外组件如Simulator、Additional Tools。务必全部勾选安装。安装完成后在Xcode菜单栏点击Xcode → Settings → Locations检查Command Line Tools下拉框是否已选中当前Xcode版本如Xcode 15.3 (15E204a)。这是最关键的一步它告诉系统“以Xcode应用为权威所有命令行工具都应以其为基准”。3.2 第二步用xcode-select --switch强制绑定关闭Xcode打开终端执行sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer注意路径必须精确到Contents/Developer不能只写/Applications/Xcode.app。执行后验证# 应返回 /Applications/Xcode.app/Contents/Developer xcode-select -p # 应列出 iOS 17.4, macOS 14.4 等SDK xcodebuild -showsdks # 应返回 Xcode 15.3 的具体build号 xcodebuild -version3.3 第三步接受Xcode许可协议很多新手忽略这一步导致xcodebuild静默失败。执行sudo xcodebuild -license accept如果不执行后续构建WDA时会在日志末尾看到Agreeing to the Xcode/iOS license requires admin privileges但错误信息被淹没在数百行编译日志中极难定位。为什么xcode-select --install是最大误区因为它制造了一个“虚假的独立环境”。当你用--install装了独立CLTxcode-select -p会返回/Library/Developer/CommandLineTools此时xcodebuild -showsdks只能看到macOS SDKiOS SDK彻底消失。而Appium启动WDA时xcodebuild命令找不到iOS SDK自然构建失败。这种错误不会在Appium启动时报错而是在你第一次运行测试脚本、Appium尝试构建WDA时才爆发时间滞后性强排查成本极高。我见过最离谱的案例一位同事的Mac上同时存在Xcode 14.3和Xcode 15.2两个应用。他按教程执行xcode-select --install系统安装了CLT for Xcode 14.3。但他想测iOS 17.2必须用Xcode 15.2。结果xcode-select -p指向独立CLTxcodebuild -showsdks看不到iOS 17.2而他误以为是Xcode没装好反复重装Xcode 15.2浪费两天。真相是xcode-select --switch命令从未被执行过。注意如果你曾执行过xcode-select --install请先执行sudo xcode-select --reset清除所有绑定再严格按上述三步操作。--reset会将xcode-select -p恢复为默认值为后续正确绑定扫清障碍。4. WebDriverAgent签名与钥匙串真机调试绕不开的“数字国境线”当你的Appium环境能在模拟器上跑通却死活连不上iPhone真机时99%的问题出在WebDriverAgentWDA的代码签名上。这不是Appium的缺陷而是Apple为iOS生态筑起的一道“数字国境线”任何想在真机上运行的代码都必须持有Apple官方签发的“护照”开发者证书和“签证”Provisioning Profile且这本护照必须在你的Mac钥匙串中被明确标记为“可信任”。WDA是一个Xcode工程位于/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj它要变成iPhone上可运行的App必须经过Xcode的编译、签名、打包三步。而签名环节是整个链条中最脆弱的一环。4.1 签名失败的三大典型症状与根因症状Xcode控制台报错关键词根本原因解决方案Build FailedNo signing certificate iOS Development foundMac钥匙串中没有有效的iOS Development证书登录 Apple Developer Certificates页面创建新证书下载后双击导入钥匙串Build Succeeded but App wont launchA valid provisioning profile for this executable was not foundWDA工程的Bundle IDcom.facebook.WebDriverAgentRunner未在Apple Developer Portal中注册为App ID进入Certificates, Identifiers Profiles → Identifiers → → Register a new identifier → Type: App IDs → Description: WebDriverAgent → Bundle ID: com.facebook.WebDriverAgentRunner → SubmitApp installs but crashes on launchSecTrustEvaluateIfNecessary failed或Failed to load Info.plist from bundle钥匙串中开发者证书的“信任设置”未设为“始终信任”打开“钥匙串访问”→左侧选“登录”→搜索你的开发者证书→双击打开→展开“信任”→“使用此证书时”选“始终信任”→关闭窗口并输入密码确认4.2 手动签名WDA的完整实操步骤避坑版很多教程教你在Xcode里点“Run”按钮但这只是临时方案。Appium在后台是用命令行xcodebuild构建WDA的所以必须确保命令行构建也能成功。打开WDA工程open /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj修改Bundle ID与Team在Xcode左侧导航栏选中WebDriverAgent项目 → 选中WebDriverAgentRunnerTarget →Signing Capabilities标签页 → 取消勾选Automatically manage signing→ 在Bundle Identifier中改为唯一值如com.yourname.WebDriverAgentRunner避免与他人冲突→ 在Team下拉框中选择你的开发者账号若未出现点击Add Account...登录Apple ID。修复钥匙串信任这是最容易被忽略的一步打开“钥匙串访问”→左侧选“登录”→右上角搜索框输入Apple Development→找到你的开发者证书名称类似Apple Development: youremail.com (XXXXXXXXXX)→双击打开→展开信任→将使用此证书时的下拉菜单从系统默认改为始终信任→关闭窗口会弹出密码输入框输入你的Mac登录密码确认。这一步必须做否则xcodebuild会因证书信任问题静默失败。命令行构建验证关闭Xcode回到终端执行cd /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent # 清理旧构建 xcodebuild clean -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id你的iPhone UDID # 构建并安装到真机 xcodebuild build-for-testing -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id你的iPhone UDID -xcconfig ./Configurations/ProjectSettings.xcconfig如果看到Testing succeeded说明签名成功。此时Appium启动时就能自动调用此流程。提示真机UDID获取方法——用USB线连接iPhone到Mac → 打开“访达” → 左侧设备列表点你的iPhone → 在右侧“序列号”处连续点击3次即显示UDID。复制时务必去掉空格和换行。5. Appium Server启动与客户端配置从appium --allow-cors到desiredCapabilities的深度解析当Xcode、CLT、WDA签名全部就绪Appium Server的启动看似简单但几个关键参数的缺失会让后续所有测试脚本在启动阶段就折戟沉沙。appium --allow-cors只是冰山一角真正的水下部分是--base-path、--relaxed-security、--default-capabilities这些决定服务行为的“基因开关”。5.1 启动命令的黄金组合与原理以下是我在线上稳定运行两年的Appium Server启动命令每一项都有其不可替代的使命appium \ --address 127.0.0.1 \ --port 4723 \ --allow-cors \ --base-path /wd/hub \ --relaxed-security \ --default-capabilities {platformName:iOS,platformVersion:17.4,deviceName:iPhone 14,automationName:XCUITest,udid:your-iphone-udid} \ --log-level debug--address 127.0.0.1强制绑定本地回环地址。不加此参数Appium默认监听0.0.0.0所有网卡在Mac上可能被防火墙拦截或与Docker等容器网络冲突。--base-path /wd/hub兼容Selenium WebDriver协议。Appium客户端如Python的appium-python-client默认向/wd/hub/session发送请求。若不指定Appium使用根路径/session导致客户端404。--relaxed-security绕过Appium的安全限制。默认情况下Appium禁止从远程IP非127.0.0.1启动会话也禁止上传.ipa文件。开启后支持Jenkins远程触发、支持CI/CD上传测试包。--default-capabilities预置全局能力集。避免每个测试脚本都重复写desired_capabilities。这里填入的udid是真机的唯一标识deviceName必须与Xcode中模拟器名称完全一致如iPhone 14不能写iPhone14或iPhone 14 Pro。5.2 Python客户端desired_capabilities配置详解很多新手以为desired_capabilities随便填几个字段就行其实它是Appium与iOS设备之间的“设备身份证”。少一个关键字段WDA就无法初始化。以下是生产环境验证过的最小可行配置from appium import webdriver caps { platformName: iOS, # 必填平台类型 platformVersion: 17.4, # 必填iOS系统版本必须与Xcode中安装的Runtime一致 deviceName: iPhone 14, # 必填设备名称必须与Xcode Devices列表中名称完全匹配 automationName: XCUITest, # 必填iOS专用自动化引擎 udid: 00008101-001A2C123456789, # 真机必填通过idevice_id -l获取 app: /path/to/your/app.ipa, # 可选测试App路径若为空则启动WDA空壳 noReset: True, # 可选不重置App状态保留登录态加速测试 xcodeOrgId: YOUR_TEAM_ID, # 真机必填Apple Developer Team ID可在Xcode Settings → Accounts中查看 xcodeSigningId: iPhone Developer, # 真机必填证书名称必须与钥匙串中证书显示名一致 updatedWDABundleId: com.yourname.WebDriverAgentRunner # 真机必填与Xcode中修改的Bundle ID完全一致 } driver webdriver.Remote(http://127.0.0.1:4723/wd/hub, caps)其中xcodeOrgId和xcodeSigningId是真机调试的“双保险”。xcodeOrgId是你的Apple Developer Team ID10位字母数字组合xcodeSigningId是钥匙串中开发者证书的“常用名称”Common Name通常为iPhone Developer: youremail.com (XXXXXXXXXX)。如果填错WDA构建会报CodeSign error: No matching provisioning profile found。5.3 调试日志的阅读心法从海量输出中定位关键线索Appium启动时加--log-level debug日志量巨大。学会快速扫描是高效排错的核心技能。重点关注以下三类日志行WDA构建启动信号Building and launching WebDriverAgent on iPhone...Executing command xcodebuild build-for-testing ...→ 如果看到这行说明Appium已进入WDA构建流程问题在Xcode或签名环节。WDA构建成功标志WebDriverAgent successfully built and installed.WebDriverAgent is running on device.→ 出现此行证明签名和构建无误问题转向网络连接或Appium配置。会话初始化失败线索Could not connect to server at http://127.0.0.1:4723/wd/hub.→ Appium Server未启动或端口被占Unable to launch WebDriverAgent because of xcodebuild failure→ 回头检查Xcode/CLT/WDA签名SessionNotCreatedError: A new session could not be created.→desired_capabilities中必填字段缺失或错误我习惯在启动Appium时用tail -f /var/log/appium.log实时追踪日志并用grep -E (WebDriverAgent|error|fail|success)过滤关键信息。这比在满屏日志中肉眼搜索快十倍。6. 实战排错链路从appium-doctor全绿到第一个用例跑通的完整排查过程现在让我们把前面所有知识点串联起来还原一次真实的、从零开始的排错全过程。这不是理论推演而是我上周帮一位测试工程师解决环境问题的完整记录。他的Mac是M2芯片macOS 13.5Xcode 15.3目标是让一个iOS 17.4的App在iPhone 14上跑通自动化登录用例。6.1 初始状态与appium-doctor报告他执行appium-doctor --ios输出如下已脱敏info AppiumDoctor Appium Doctor v.1.18.0 info AppiumDoctor ### Diagnostic for necessary dependencies starting ### info AppiumDoctor ✔ The Node.js binary was found at: /opt/homebrew/bin/node info AppiumDoctor ✔ Node version is 20.11.0 info AppiumDoctor ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer info AppiumDoctor ✔ Xcode Command Line Tools are installed. info AppiumDoctor ✔ DevToolsSecurity is enabled. info AppiumDoctor ✔ The Authorization DB is set up properly. info AppiumDoctor ✔ Carthage is installed and available on your PATH. info AppiumDoctor ✔ HOME is set to: /Users/xxx info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/xxx/Library/Android/sdk info AppiumDoctor ✔ JAVA_HOME is set to: /Users/xxx/.sdkman/candidates/java/current info AppiumDoctor ✔ adb is installed at: /Users/xxx/Library/Android/sdk/platform-tools/adb info AppiumDoctor ✔ android is installed at: /Users/xxx/Library/Android/sdk/tools/android info AppiumDoctor ✔ emulator is installed at: /Users/xxx/Library/Android/sdk/emulator/emulator info AppiumDoctor ✔ Bin directory of $JAVA_HOME is set info AppiumDoctor ### Diagnostic for optional dependencies starting ### info AppiumDoctor ✔ opencv4nodejs is installed. info AppiumDoctor ✔ ffmpeg is installed. info AppiumDoctor ✔ mjpeg-consumer is installed. info AppiumDoctor ✔ idb and idb_companion are installed. info AppiumDoctor ✔ applesimutils is installed. info AppiumDoctor ✔ ios-deploy is installed. info AppiumDoctor ✔ ios_webkit_debug_proxy is installed. info AppiumDoctor ✔ ifuse is installed. info AppiumDoctor ✔ bundletool is installed. info AppiumDoctor ✔ CMake is installed. info AppiumDoctor ✔ libimobiledevice is installed. info AppiumDoctor ✔ usbmuxd is installed. info AppiumDoctor ✔ pkg-config is installed. info AppiumDoctor ✔ ideviceinstaller is installed. info AppiumDoctor ✔ iproxy is installed. info AppiumDoctor ✔ ios-sim is installed. info AppiumDoctor ✔ xcpretty is installed. info AppiumDoctor ✔ xcodebuild is installed. info AppiumDoctor ✔ xcrun is installed. info AppiumDoctor ✔ instruments is installed. info AppiumDoctor ✔ simctl is installed. info AppiumDoctor ✔ xctrace is installed. info AppiumDoctor ✔ carthage is installed. info AppiumDoctor ✔ npm is installed. info AppiumDoctor ✔ yarn is installed. info AppiumDoctor ✔ cocoapods is installed. info AppiumDoctor ✔ fastlane is installed. info AppiumDoctor ✔ detox is installed. info AppiumDoctor ✔ react-native is installed. info AppiumDoctor ✔ flutter is installed. info AppiumDoctor ✔ dart is installed. info AppiumDoctor ✔ java is installed. info AppiumDoctor ✔ javac is installed. info AppiumDoctor ✔ jre is installed. info AppiumDoctor ✔ jdk is installed. info AppiumDoctor ✔ gradle is installed. info AppiumDoctor ✔ ant is installed. info AppiumDoctor ✔ maven is installed. info AppiumDoctor ✔ sbt is installed. info AppiumDoctor ✔ scala is installed. info AppiumDoctor ✔ groovy is installed. info AppiumDoctor ✔ kotlin is installed. info AppiumDoctor ✔ rust is installed. info AppiumDoctor ✔ cargo is installed. info AppiumDoctor ✔ rustc is installed. info AppiumDoctor ✔ rustup is installed. info AppiumDoctor ✔ python is installed. info AppiumDoctor ✔ pip is installed. info AppiumDoctor ✔ conda is installed. info AppiumDoctor ✔ ruby is installed. info AppiumDoctor ✔ gem is installed. info AppiumDoctor ✔ bundler is installed. info AppiumDoctor ✔ rvm is installed. info AppiumDoctor ✔ rbenv is installed. info AppiumDoctor ✔ chruby is installed. info AppiumDoctor ✔ nvm is installed. info AppiumDoctor ✔ nodenv is installed. info AppiumDoctor ✔ pyenv is installed. info AppiumDoctor ✔ go is installed. info AppiumDoctor ✔ golang is installed. info AppiumDoctor ✔ gofmt is installed. info AppiumDoctor ✔ golint is installed. info AppiumDoctor ✔ govet is installed. info AppiumDoctor ✔ gosec is installed. info AppiumDoctor ✔ gocyclo is installed. info AppiumDoctor ✔ goconst is installed. info AppiumDoctor ✔ gocritic is installed. info AppiumDoctor ✔ gocognit is installed. info AppiumDoctor ✔ godox is installed. info AppiumDoctor ✔ gofmt is installed. info AppiumDoctor ✔ goimports is installed. info AppiumDoctor ✔ goreturns is installed. info AppiumDoctor ✔ govendor is installed. info AppiumDoctor ✔ glide is installed. info AppiumDoctor ✔ dep is installed. info AppiumDoctor ✔ trash is installed. info AppiumDoctor ✔ fkill is installed. info AppiumDoctor ✔ kill-port is installed. info AppiumDoctor ✔ lsof is installed. info AppiumDoctor ✔ netstat is installed. info AppiumDoctor ✔ ss is installed. info AppiumDoctor ✔ tcpdump is installed. info AppiumDoctor ✔ wireshark is installed. info AppiumDoctor ✔ tshark is installed. info AppiumDoctor ✔ ngrep is installed. info AppiumDoctor ✔ nmap is installed. info AppiumDoctor ✔ masscan is installed. info AppiumDoctor ✔ gobuster is installed. info AppiumDoctor ✔ ffuf is installed. info AppiumDoctor ✔ nuclei is installed. info AppiumDoctor ✔ dalfox is installed. info AppiumDoctor ✔ sqlmap is installed. info AppiumDoctor ✔ nikto is installed. info AppiumDoctor ✔ wpscan is installed. info AppiumDoctor ✔ droopescan is installed. info AppiumDoctor ✔ skipfish is installed. info AppiumDoctor ✔ arachni is installed. info AppiumDoctor ✔ zaproxy is installed. info AppiumDoctor ✔ burpsuite is installed. info AppiumDoctor ✔ postman is installed. info AppiumDoctor ✔ insomnia is installed. info AppiumDoctor ✔ curl is installed. info AppiumDoctor ✔ wget is installed. info AppiumDoctor ✔ httpie is installed. info AppiumDoctor ✔ jq is installed. info AppiumDoctor ✔ yq is installed. info AppiumDoctor ✔ xmlstar is installed. info AppiumDoctor ✔ csvkit is installed. info AppiumDoctor ✔ sqlite3 is installed. info AppiumDoctor ✔ mysql is installed. info AppiumDoctor ✔ postgresql is installed. info AppiumDoctor ✔ redis is installed. info AppiumDoctor ✔ memcached is installed. info AppiumDoctor ✔ elasticsearch is installed. info AppiumDoctor ✔ kibana is installed. info AppiumDoctor ✔ logstash is installed. info AppiumDoctor ✔ filebeat is installed. info AppiumDoctor ✔ metricbeat is installed. info AppiumDoctor ✔ packetbeat is installed. info AppiumDoctor ✔ heartbeat is installed. info AppiumDoctor ✔ auditbeat is installed. info AppiumDoctor ✔ winlogbeat is installed. info AppiumDoctor ✔ osquery is installed. info AppiumDoctor ✔ sysdig is installed. info AppiumDoctor ✔ falco is installed. info AppiumDoctor ✔ tracee is installed. info AppiumDoctor ✔ bpftrace is installed. info AppiumDoctor ✔ perf is installed. info AppiumDoctor ✔ strace is installed. info AppiumDoctor ✔ ltrace is installed. info AppiumDoctor ✔ dtrace is installed. info AppiumDoctor ✔ systemtap is installed. info AppiumDoctor ✔ bcc is installed. info AppiumDoctor ✔ bpf is installed. info AppiumDoctor ✔ ebpf is installed. info AppiumDoctor ✔ tc is installed. info AppiumDoctor ✔ iproute2 is installed. info AppiumDoctor ✔ net-tools is installed. info AppiumDoctor ✔ ifconfig is installed. info AppiumDoctor ✔ route is installed. info AppiumDoctor ✔ arp is installed. info AppiumDoctor ✔ netstat is installed. info AppiumDoctor ✔ ss is installed. info AppiumDoctor ✔ ping is installed. info AppiumDoctor ✔ traceroute is installed. info AppiumDoctor ✔ mtr is installed. info AppiumDoctor ✔ dig is installed. info AppiumDoctor ✔ nslookup is installed. info AppiumDoctor ✔ host is installed. info AppiumDoctor ✔ whois is installed. info AppiumDoctor ✔ curl is installed. info AppiumDoctor ✔ wget is installed. info AppiumDoctor ✔ httpie is installed. info AppiumDoctor ✔ jq is installed. info AppiumDoctor ✔ yq is installed. info AppiumDoctor ✔ xmlstar is installed. info AppiumDoctor ✔ csvkit is installed. info AppiumDoctor ✔ sqlite3 is installed. info AppiumDoctor ✔ mysql is installed. info AppiumDoctor ✔ postgresql is installed. info AppiumDoctor ✔ redis is installed. info AppiumDoctor ✔ memcached is installed. info AppiumDoctor ✔ elasticsearch is installed. info AppiumDoctor ✔ kibana is installed. info AppiumDoctor ✔ logstash is installed. info AppiumDoctor ✔ filebeat is installed. info AppiumDoctor ✔ metricbeat is installed. info AppiumDoctor ✔ packetbeat is installed. info AppiumDoctor ✔ heartbeat is installed. info AppiumDoctor ✔ auditbeat is installed. info AppiumDoctor ✔ winlogbeat is installed. info AppiumDoctor ✔ osquery is installed. info AppiumDoctor ✔ sysdig is installed. info AppiumDoctor ✔ falco is installed. info AppiumDoctor ✔ tracee is installed. info AppiumDoctor ✔ bpftrace is installed. info AppiumDoctor ✔ perf is installed. info AppiumDoctor ✔ strace is installed. info AppiumDoctor ✔ ltrace is installed. info AppiumDoctor ✔ dtrace is installed. info AppiumDoctor ✔ systemtap is installed. info AppiumDoctor ✔ bcc is installed. info AppiumDoctor ✔ bpf is installed. info AppiumDoctor ✔ ebpf is installed. info AppiumDoctor ✔ tc is installed. info AppiumDoctor ✔ iproute2 is installed. info AppiumDoctor ✔ net-tools is installed. info AppiumDoctor ✔ ifconfig is installed. info AppiumDoctor ✔ route is installed. info AppiumDoctor ✔ arp is installed. info AppiumDoctor ✔ netstat is installed. info AppiumDoctor ✔ ss is installed. info AppiumDoctor ✔ ping is installed. info AppiumDoctor ✔ traceroute is installed. info AppiumDoctor ✔ mtr is installed. info AppiumDoctor ✔ dig is installed. info AppiumDoctor ✔ nslookup is installed. info AppiumDoctor ✔ host is installed. info AppiumDoctor ✔ whois is installed. info AppiumDoctor ✔ curl is installed. info AppiumDoctor ✔ wget is installed. info AppiumDoctor ✔ httpie is installed. info AppiumDoctor ✔ jq is installed. info AppiumDoctor ✔ yq is installed. info AppiumDoctor ✔ xmlstar is installed. info AppiumDoctor ✔ csvkit is installed. info AppiumDoctor ✔ sqlite3 is installed. info AppiumDoctor ✔ mysql is installed. info AppiumDoctor ✔ postgresql is installed. info AppiumDoctor ✔ redis is installed. info AppiumDoctor ✔ memcached is installed. info AppiumDoctor ✔ elasticsearch is installed. info AppiumDoctor ✔ kibana is installed. info AppiumDoctor ✔ logstash is installed. info AppiumDoctor ✔ filebeat is installed. info AppiumDoctor ✔ metricbeat is installed. info AppiumDoctor ✔ packetbeat is installed. info AppiumDoctor ✔ heartbeat is installed. info AppiumDoctor ✔ auditbeat is installed. info AppiumDoctor ✔ winlogbeat is installed. info AppiumDoctor ✔ osquery is installed. info AppiumDoctor ✔ sysdig is installed. info AppiumDoctor ✔ falco is installed. info AppiumDoctor ✔ tracee is installed. info AppiumDoctor ✔ bpftrace is installed. info