
开发工具测试桌面应用【免费下载链接】appium-inspectorA GUI inspector for mobile apps and more, powered by a (separately installed) Appium server项目地址https://gitcode.com/gh_mirrors/ap/appium-inspector点击查看免费下载Appium Inspector 是 Appium 生态中一款以图形界面为核心的应用检视工具它的主要职责是提供应用页面源码Page Source的可视化检视能力。它面向自动化测试开发场景同样可用于应用开发调试甚至单纯地查看一个应用的页面长什么样。本文以官方文档 docs/overview.md 为主干结合仓库源码系统讲解它的两种发布形态、两大界面模块、功能全景与底层实现原理帮助你在测试脚本编写、元素定位器生成、手势录制等场景中直接上手。Inspector 的本质一个带 GUI 的 Appium 客户端官方文档明确给出了定位Appium Inspector 本质上就是一个 Appium 客户端底层基于 WebdriverIO只是额外附加了图形用户界面与一系列增强功能。从仓库源码可以印证这一结论。核心会话建立逻辑位于 app/common/renderer/lib/appium/session-starter.js它直接导入webdriver包package.json 中声明了webdriver: 9.31.9newSession(serverOpts, capabilities)通过webdriver.newSession()创建全新会话并用DEFAULT_SERVER_PROPS定义于 app/common/renderer/constants/webdriver.js兜底补齐服务器参数attachToSession(sessionId, serverOpts, capabilities)通过webdriver.attachToSession()附加到已存在的会话并强制以 W3C 协议方式通信。会话建立后所有驱动操作经由 app/common/renderer/lib/appium/inspector-driver.js 中定义的InspectorDriver类统一封装。该类是对当前活跃 Appium 驱动方法的一层包装并附带 Inspector 特有的处理逻辑例如run(params)方法统一接收methodName、strategy、selector、elementId等参数并在执行删除会话deleteSession等操作时返回特殊结果。这意味着你在界面上做的每一次点击、查找元素、发送按键最终都会翻译成对 Appium server 的标准 WebDriver 命令。两种发布形态桌面应用与 Appium 服务器插件Appium Inspector 以两种格式分发见 docs/overview.md 的 Formats 一节形态运行环境安装方式大致体积独立桌面应用Windows / macOS / Linux从仓库 Releases 下载安装包约 500MB 空闲空间Appium 服务器插件Chrome / Edge / Firefox / Safari2022 年及以后版本通过 Appium 扩展 CLI 安装约 6MB 空闲空间以上体积与系统要求来自 docs/quickstart/requirements.md桌面应用支持 Windows 10、macOS 13、Ubuntu 18.04、Debian 10、openSUSE 15.5、Fedora Linux 39这些要求取自 Chrome因为 Inspector 使用基于 Chromium 的 Electron 构建插件形态则运行在现代浏览器中。桌面应用安装要点安装步骤详见 docs/quickstart/installation.md按平台区分Windows推荐下载.exe安装包支持自动更新检查由于应用当前未签名首次打开会显示安全警告可通过右键属性 - 解除锁定或点击更多信息 - 仍要运行绕过macOS推荐下载.dmg拖拽图标到 Applications 文件夹应用当前未公证首次打开会触发安全警告可在终端执行xattr -cr /Applications/Appium Inspector.app清除隔离属性Linux推荐下载.AppImage先执行chmod ax Appium-Inspector-version-linux-arch.AppImage赋予可执行权限再通过./Appium-Inspector-version-linux-arch.AppImage启动。Appium 插件安装与访问插件形态的安装与激活完全通过 Appium 命令行完成当前仓库的插件实现位于 plugins/index.mjs它继承appium/base-plugin# 1. 安装插件Appium 3 使用此命令 appium plugin install inspector # 2. 以启用插件的方式启动 Appium 服务器 appium --use-pluginsinspector # 3. 在浏览器中打开 Inspector 界面 # http://127.0.0.1:4723/inspector从 plugins/index.mjs 源码可以看到插件通过expressApp.all([/inspector, /inspector/*all], ...)注册路由将/inspector路径PLUGIN_ROOT_PATH /inspector映射到dist-browser目录下构建出的index.html。因此无论 Appium 服务器配置了什么 base path插件界面始终挂载在/inspector下。此外桌面应用自带内置的检查更新功能详见 docs/menu-bar.md 的 Update Checker 一节而.exe、.dmg、.AppImage三种格式都支持这一特性。注意Appium Inspector 曾以 Web 应用形态托管于https://inspector.appiumpro.com但该站点已与 Appium 团队无关官方建议使用独立桌面应用或插件版本Appium 团队正在探索未来重新托管最新版 Web 应用的可能性。前置条件Appium 服务器与驱动Inspector 本身不能独立工作它需要一个可连接的Appium server本地或远程。如果自建服务器还需为目标平台安装对应的Appium driver。docs/quickstart/requirements.md 给出了官方驱动的最低推荐版本Espresso4.0.0或更高Mac22.0.0或更高UiAutomator24.0.0或更高Windows4.0.0或更高XCUITest4.21.27或更高GUI 概览两大核心界面Appium Inspector 的用户界面由两个主要部分组成见 docs/overview.md 的 GUI Overview 一节对应仓库中 app/common/renderer/components/SessionBuilder 与 app/common/renderer/components/SessionInspector 两个组件目录。Session Builder会话构建器默认启动画面用于填写全部服务器与会话细节是每次检视的出发站。其界面可划分为五个功能组详见 docs/session-builder/index.md应用设置服务器细节配置Capability Builder 选项卡已保存 Capability 集选项卡附加到已有会话选项卡Session Inspector会话检视器连接会话成功后的活动界面展示应用截图、页面源码等绝大多数功能都集中在这里。其界面同样划分为多个功能组详见 docs/session-inspector/index.mdHeader按钮与更多操作截图面板Source 选项卡Commands 选项卡Gestures 选项卡Recorder 选项卡Session Information 选项卡功能全景不止于截图与源码检视除了页面源码与截图检视Appium Inspector 还提供了大量实用功能。以下是 docs/overview.md 中列出的非穷尽清单并按源码佐证逐一展开轻松定义 Appium 服务器连接细节与 capabilities对应 docs/quickstart/starting-a-session.md 的完整流程capabilities 可在 Capability Builder 中逐条填写或直接编辑 JSON保存服务器细节与 capability 集供后续会话复用见 docs/session-builder/saved-capability-sets.md连接 10 云平台内置 Sauce Labs、BrowserStack、HeadSpin、TestMu AI原 LambdaTest、TestingBot、ExperiTest、RobotQA、Remote TestKit、BitBar、Kobiton、Perfecto、Pcloudy、Mobitru、TV Labs、Testcribe、Webmate、Fireflink Devicefarm、RabbitQA、RobotActions、AstroFarm 等厂商集成完整清单见 README.md 的 Cloud Platforms 表格。官方文档同时提醒若某云厂商不再与 Inspector 兼容可能会将其移除因为双方并无兼容性保证附加到已有 Appium 会话对应 docs/session-builder/attach-to-session.md底层即session-starter.js中的attachToSession()通过截图与应用交互点击/轻触、滑动截图面板支持在应用截图上直接执行点击与滑动操作创建并保存自定义手势见 docs/session-inspector/gestures.md直接在应用截图上选择元素点击截图即选中对应元素并高亮使用支持的定位策略与自定义选择器搜索元素见 docs/session-inspector/header.md 的 Locator Search 功能与元素交互点击/轻触、发送按键、清除查看建议的元素定位策略与选择器可直接用于测试脚本比较不同元素查找策略的速度对应 Source 选项卡的 Get Timings 功能见 docs/session-inspector/source.md将操作直接录制成 5 种编程语言的 Appium 客户端代码见 docs/session-inspector/recorder.md仓库中对应 app/common/renderer/lib/client-frameworks 目录内置 JavaJUnit4/JUnit5、JavaScriptWebdriverIO、Oxygen、Python、Ruby、Robot Framework、.NET (NUnit) 等代码生成器模拟 iOSHome、Siri与 Android返回、Home、应用切换系统操作见 docs/session-inspector/header.md 中的设备控制按钮切换不同应用上下文Context例如在原生与 WebView 之间切换访问各类 Appium 驱动命令库见 docs/session-inspector/commands.md。功能背后的源码印证命令执行层所有上述界面交互最终都汇聚到 app/common/renderer/actions/SessionInspector.js 与 app/common/renderer/actions/SessionBuilder.js 两个 Redux action 模块reducers 见 app/common/renderer/reducers 目录再经由InspectorDriver转发给 Appium server元素查找app/common/renderer/utils/locator-generation 目录实现了多种定位策略的生成与解析包括 XPath、iOS class chain、iOS predicate、Android UiAutomator 与简单策略且仓库提供了对应的单元测试test/unit/utils-locator-generation验证其正确性会话生命周期会话过期处理、保持活跃Keep Alive等逻辑由 Session Inspector 根组件 app/common/renderer/components/SessionInspector/SessionInspector.jsx 驱动。快速上手从零启动一个检视会话完整的实操流程记录在 docs/quickstart/starting-a-session.md核心步骤归纳如下第一步配置服务器细节Session Builder 顶部的服务器细节区用于告知 Inspector 如何连接 Appium server连接云平台点击Select Cloud Providers按钮选择厂商切换到对应选项卡并填写所需字段不同厂商字段不同例如 TestMu AI 仅需 username 与 access key见 docs/session-builder/server-details.md连接本地/远程独立服务器先确保服务器已启动。默认四个字段均可不动——Inspector 默认连接http://127.0.0.1:4723/与 Appium 服务器默认值一致Remote Host 默认127.0.0.1Remote Port 默认4723Remote Path 默认/SSL 默认关闭非默认配置则按实际值修改高级设置通过Advanced Settings可进一步配置连接参数见 docs/session-builder/server-details.md。第二步填写会话 CapabilitiesCapability Builder 占据 Session Builder 大部分空间是填写会话 capabilities 的地方左侧以字段编辑器方式逐条添加每个 capability 分为名称、值类型text / boolean / number / JSON object 四种、值本身三部分带复选框可临时启用/禁用某项 capability便于对比会话行为右侧以标准 JSON 结构同步展示可点击 Edit 直接编辑原始 JSON保存时会自动做语法校验非法 JSON 会被拒绝并提示错误含嵌套对象的 capability如chrome:options必须通过 JSON 编辑器添加底部有一个默认勾选的开关启动会话时自动为缺少 vendor 前缀的 capability 补上appium:前缀例如deviceName会自动变成appium:deviceName。Appium 有若干必填 capabilities不填任何 capability 直接启动会话必然失败。以下是最小可用 capability 集示例来自 docs/quickstart/starting-a-session.mdUiAutomator2Android{ platformName: Android, appium:automationName: UiAutomator2 }XCUITestiOS{ platformName: iOS, appium:automationName: XCUITest, appium:udid: device udid }Mac2macOS 桌面应用{ platformName: Mac, appium:automationName: Mac2 }第三步启动会话点击蓝色Start Session按钮。若会话创建成功界面将切换到Session Inspector屏幕之后便可以使用截图点击、元素选择、定位器建议、录制等全部功能若失败可参考 docs/troubleshooting.md 排查。版本规范与社区协作版本命名Appium Inspector 遵循发布年.发布月.当月发布序号的版本规范例如 2022 年 4 月的第一次发布为2022.4.1当月第 10 次发布为2022.4.10。仓库 package.json 当前版本为2026.9.2即 2026 年 9 月的第 2 个版本问题反馈README.md 建议先尝试不使用 Inspector、改用其他 Appium 客户端复现问题——若问题依旧存在说明并非 Inspector 的问题应向 Appium 主仓库报告若问题消失则极可能是 Inspector 特有的问题应在本仓库提交 bug issue本地化Inspector 的多语言翻译由 Crowdin 平台协作完成仓库中已包含 30 语言环境的翻译文件见 app/common/public/locales 目录下的translation.json并配套了自动同步翻译的脚本scripts/crowdin-sync-translations.mjs 等。小结Appium Inspector 以Appium 客户端 图形界面为内核通过 Session Builder 与 Session Inspector 两大界面把服务器连接、capability 配置、页面源码检视、截图交互、元素定位、手势编辑、命令回放与多语言录制等能力整合为一个完整的移动应用检视工作台。无论是自动化测试开发中生成稳定可靠的元素定位器还是在应用开发阶段快速理解页面层级结构它都能作为连接你与 Appium 生态之间最直观的桥梁。赞分享开发工具测试桌面应用【免费下载链接】appium-inspectorA GUI inspector for mobile apps and more, powered by a (separately installed) Appium server项目地址https://gitcode.com/gh_mirrors/ap/appium-inspector点击查看免费下载相关推荐使用 Ray Train 在 MNIST 上分布式训练 TensorFlow 模型官方示例全解析使用 Ray Train 在 MNIST 上分布式训练 TensorFlow 模型官方示例全解析 本文围绕 Ray 开源仓库中的官方入门示例 tensorfl开发工具测试桌面应用【appium】 Appium跨平台移动平台应用自动化测试框架全面解析Appium跨平台移动平台应用自动化测试框架全面解析 Appium作为移动应用测试领域的行业标准开源自动化框架基于WebDriver协议的跨平台解决方案彻底测试移动开发质量保障Spock-example数据库测试H2数据库集成测试的完整解决方案Spock example数据库测试H2数据库集成测试的完整解决方案 Spock example项目是Spock测试框架的官方示例项目专门展示如何在Java上一篇如何5分钟快速配置大麦网抢票脚本Python自动化抢票终极指南下一篇大麦网抢票脚本终极指南从零构建高性能自动化购票系统创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考