Calabash-Android是什么?免费开源Android UI自动化测试工具完整概览 移动开发开发工具【免费下载链接】calabash-androidAutomated Functional testing for Android using cucumber项目地址https://gitcode.com/gh_mirrors/ca/calabash-android点击查看免费下载Calabash-Android 是一款免费的开源 Android UI 自动化测试工具它让你用类自然语言的 CucumberGherkin语法来描述测试场景自动完成点击按钮、输入文本、断言界面等 Android UI 自动化测试全流程。无论你是刚接触移动端测试的开发者还是想给 CI 流水线补充界面级验证的团队这份概览都能帮你在 5 分钟内搞清楚它是什么、能干什么、以及如何上手。一、Calabash-Android 是什么简单来说Calabash-Android 解决的是如何像真实用户一样操作 App的问题自动化功能测试模拟用户点击、滑动、输入、滚动等操作验证 App 行为是否符合预期原生与混合应用都支持既可以测试原生 Android 应用也能覆盖 WebView 中的混合页面类自然语言用例基于 Cucumber 框架测试用例用Given / When / Then书写产品经理和测试人员都能读懂丰富的预定义步骤内置大量开箱即用的步骤断言、输入、按钮、导航、截图等不用从零写代码。项目入口在 README.md官方文档拆分为 installation.md安装指南和 ruby_api.mdRuby API两部分。 背景提示该项目最初由 MicrosoftXamarin主导开发现已是社区维护的免费开源项目遵循 Eclipse 公共许可证见 LICENSE。二、工作原理测试服务器架构Calabash-Android 采用客户端-服务器架构这是理解它的关键角色说明客户端Ruby运行在你的电脑上通过 HTTP 与设备通信执行你的测试脚本测试服务器Test Server一个自动构建并安装到设备的 instrumentation APK随被测应用一起运行当你执行测试命令时Calabash 会自动安装测试服务器到设备/模拟器上。测试服务器拥有特殊权限可以深度访问应用内部的视图树从而精确地查找控件、读取文本、模拟手势。每次测试新的应用包APK或升级 Calabash 版本时它都会自动重新构建这个测试服务器。 一个常见坑被测应用需要声明android.permission.INTERNET权限否则测试服务器无法正常通信App 可能在启动后立即崩溃。详见 README.md 的 Troubleshooting 章节。三、它能做什么核心能力清单UI 元素查询UIQuery按 id、文本、类名、索引等条件查找界面上的任意控件还能直接读取它的属性文本、坐标、是否可用等。️手势与交互点击、长按、滑动、滚动、拖拽、Flick快速轻扫等完整手势支持见 gestures.rb。⌨️文本输入向输入框填入文本、清空输入框支持按索引、id 或 contentDescription 定位。复杂控件操作日期选择器、时间选择器、Spinner、复选框、进度条、上下文菜单等都有专门步骤。模拟定位Location Mocking可以模拟设备 GPS 位置测试地图类功能。截图断言失败时自动截图也支持环境变量SCREENSHOT_PATH自定义截图保存路径。UIAutomator2 扩展以with_uiautomator: true启动测试服务器后还可以与系统级元素如通知栏、状态栏和其他应用交互。完整的预定义步骤清单见 canned_steps.md。四、一键安装步骤环境准备按照 installation.md 的指引你需要准备 4 样东西Ruby ≥ 2.0推荐用 rbenv 或 rvm 管理切勿用 sudo 安装 gemJava Development KitJDK可通过JAVA_HOME环境变量指定Android SDK并设置ANDROID_HOME环境变量BundlerRuby 的依赖管理工具安装本身只需要两行命令在项目的 Gemfile 中声明calabash-android和cucumber两个依赖后gem install bundlerbundle install之后所有命令都通过bundle exec前缀执行。项目还整理了一份 ENVIRONMENT_VARIABLES.md列出了APP_PATH、MAIN_ACTIVITY、SCREENSHOT_PATH等控制运行时行为的环境变量非常适合 CI 环境配置。五、快速上手从骨架到跑通第一个用例官方提供了生成测试骨架的命令calabash-android gen它会一键创建一个标准 Cucumber 项目结构features/存放.feature测试文件features/step_definitions/calabash_steps.rb引入全部预定义步骤features/support/env.rb 等应用安装与生命周期钩子my_first.feature你的第一个测试用例骨架中的示例用例my_first.feature只有寥寥几行就能看懂 Calabash 用例的写法Scenario: As a valid user I can log into my app When I press Login Then I see Welcome to coolest app ever想看到更完整的例子可以研究集成测试目录里的 main.feature里面覆盖了模拟定位、输入文本、WebView 交互、滚动、Flick 等场景配套的测试应用源码在 NativeTestApp 下每个界面都对应一个 Activity非常适合作为学习样例。跑测试同样简单——一条命令calabash-android run 你的apk文件Calabash 会自动安装测试服务器和你的应用然后逐场景执行失败时自动截图留证。六、项目结构导览路径内容ruby-gem/lib/calabash-android/核心 Ruby 源码步骤定义、手势、查询、辅助工具ruby-gem/lib/calabash-android/steps/按场景分类的预定义步骤日期、定位、地图、截图等ruby-gem/features-skeleton/新项目模板gen命令生成物的来源ruby-gem/integration-tests/完整的集成测试示例含测试应用ruby-gem/spec/单元测试changelog/各版本变更说明CHANGELOG.md完整版本历史从 0.5 到 0.9.x七、适合谁用选型建议✅适合希望用类自然语言维护 UI 测试的团队已有 Cucumber 经验、想统一跨端iOS/Android测试语法的团队需要轻量、免费、可自托管的界面自动化方案的开发者。⚠️注意该项目已进入社区维护阶段官方文档以仓库内 documentation/ 目录为主升级 0.5 版本以上时需注意部分旧动作被移除迁移指引见 migrating_to_calabash_0.5.md。八、小结Calabash-Android 的核心价值可以用三句话概括免费开源Cucumber 类自然语言用例团队人人都能读懂测试服务器架构深入应用内部查询与断言能力远超外部驱动方案上手成本低一条命令生成骨架一条命令跑起第一个 UI 自动化测试。如果你正在为 Android App 寻找功能自动化测试方案不妨从 documentation/installation.md 开始10 分钟内就能让第一个用例在真机上跑起来。赞分享移动开发开发工具【免费下载链接】calabash-androidAutomated Functional testing for Android using cucumber项目地址https://gitcode.com/gh_mirrors/ca/calabash-android点击查看免费下载相关推荐为什么CasperJS仍是前端自动化测试的首选工具为什么CasperJS仍是前端自动化测试的首选工具 在前端自动化测试领域尽管有许多新兴工具不断涌现但CasperJS作为一款成熟稳定的导航脚本和测试工具测试网页爬虫MyOne-iOS打造你的专属《一个》客户端从入门到精通的完整指南MyOne iOS打造你的专属《一个》客户端从入门到精通的完整指南 MyOne iOS是一款精心打造的《一个》阅读应用客户端为追求纯净阅读体验的iOS用户Twitter Web Exporter终极指南无需API密钥的浏览器脚本数据导出工具Twitter Web Exporter终极指南无需API密钥的浏览器脚本数据导出工具 你是否曾为备份Twitter数据而烦恼是否想要批量导出推文、书签和关开发工具网页爬虫创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考