ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何快速安装Calabash-Android:从环境准备到零踩坑的完整教程

如何快速安装Calabash-Android:从环境准备到零踩坑的完整教程 移动开发开发工具【免费下载链接】calabash-androidAutomated Functional testing for Android using cucumber项目地址https://gitcode.com/gh_mirrors/ca/calabash-android点击查看免费下载Calabash-Android是一款用于 Android 原生与混合应用的免费开源自动化功能测试框架它基于 Cucumber让你用自然语言编写可执行的测试脚本.feature文件。本文是一份完整的Calabash-Android 安装教程从 Ruby、JDK、Android SDK 三大环境准备到生成测试骨架、首次运行 APK 测试带你一步步搭建 Android 自动化测试环境并提前避开新手最常见的坑。一、安装前准备先检查这 4 个依赖Calabash-Android 本质是一个 Ruby 工具链官方安装文档明确要求以下 4 项环境建议安装前逐条核对可参考 documentation/installation.md。依赖版本/要求验证方式Ruby2.0 及以上推荐最新稳定版ruby -vJDK任意可用版本设置JAVA_HOME环境变量Android SDK官方最新版设置ANDROID_HOME环境变量Ant仅从源码编译时需要ant -version1. 安装 Ruby最关键的一步在终端执行ruby -v输出ruby 2.x即可。官方强烈建议使用rbenv 或 rvm管理 Ruby 版本避免与系统 Ruby 冲突Windows 用户可从 RubyInstaller 官网获取安装包⚠️永远不要用sudo安装 gem这是新手环境被搞坏的第一大元凶。2. 配置 JDKCalabash 会自动从注册表Windows或 monodroid 配置中查找 JDK但最稳妥的做法是显式设置将JAVA_HOME指向 JDK 安装目录如C:\Program Files\Java\jdk1.8.0_20或把 JDK 的bin目录加入PATH。3. 配置 Android SDK下载并解压 Android SDK 后创建环境变量ANDROID_HOME指向 SDK 所在目录。这是 Calabash 调用 ADB 命令装包、启动 App、截图的基础。4. Ant可选只有当你想从源码编译Calabash 时才需要安装 Ant 并加入PATH普通使用可以跳过。若需克隆源码研究仓库地址为git clone https://gitcode.com/gh_mirrors/ca/calabash-android二、最快安装方法用 Bundler 一键装好官方推荐始终使用 Bundler管理 Calabash 版本避免全局 gem 污染。只需 3 步安装 Bundlergem install bundler在工作目录创建Gemfile写入核心依赖source https://rubygems.org gem calabash-android gem cucumber执行安装之后所有命令都用bundle exec前缀bundle install bundle exec calabash-android run your_app.apk 小建议定期执行bundle update更新 Calabash/Cucumber 依赖如果 Bundler 装不上优先换用 rbenv/rvm 管理 Ruby而不是硬装。三、30 秒生成测试工程calabash-android gen装好之后最推荐的第一步是生成 Cucumber 骨架calabash-android gen它会在当前目录生成如下标准结构模板见 ruby-gem/features-skeleton/features ├── support │ ├── app_installation_hooks.rb # 自动安装被测 App │ ├── app_life_cycle_hooks.rb # 场景前后生命周期 │ ├── env.rb # 环境入口 │ └── hooks.rb ├── step_definitions │ └── calabash_steps.rb # 引入全部预定义步骤 └── my_first.feature # 第一个测试用例其中 ruby-gem/features-skeleton/my_first.feature 给了一个点击登录 → 看到欢迎语的示例场景改成你自己的 App 文案就能跑。所有开箱即用的自然语言步骤汇总在 ruby-gem/lib/calabash-android/canned_steps.md。四、首次运行测试一条命令启动bundle exec calabash-android run 你的apk运行时有两个机制值得理解Test Server测试服务器执行测试时Calabash 会把一个特殊的 instrumentation 随你的 App 一起装到设备/模拟器上它拥有特权来与 App 深度交互。每当你更换 App 二进制或升级 Calabash 版本都会重新构建 test serverUIAutomator2 能力如需操作其他应用或系统级元素可用start_test_server_in_background(with_uiautomator: true)启动测试服务器。截图输出位置截图默认保存在当前工作目录可通过环境变量重定向例如SCREENSHOT_PATH/tmp/foo/后第一张截图会生成/tmp/foo/screenshot_0.png。五、环境变量速查表提前避开 90% 的配置坑Calabash-Android 通过 Unix 环境变量控制运行行为完整说明见 ruby-gem/ENVIRONMENT_VARIABLES.md最常用的 6 个如下变量作用APP_PATH指定 APK 路径APK 不在默认位置、CI 环境时必用MAIN_ACTIVITY覆盖自动检测的主 ActivityADB_DEVICE_ARG多设备时指定目标设备 IDRESET_BETWEEN_SCENARIOS设为1后每个 Scenario 前清空 App 数据SCREENSHOT_PATH自定义截图目录/前缀TEST_APP_PATH自定义 test server 路径CI 环境用⚠️ 注意路径含空格时必须加引号如APP_PATH~/path with spaces/app.apk。六、新手踩坑清单测试跑不起来先查这 3 处坑 1App 启动后立即崩溃被测 App 必须声明android.permission.INTERNET权限否则 test server 无法通信需在AndroidManifest.xml中补充uses-permission android:nameandroid.permission.INTERNET /坑 2按钮/文字点不中在AndroidManifest.xml中显式声明targetSdkVersion例如uses-sdk android:targetSdkVersion16 /坑 3从旧版本升级后步骤失效Calabash 0.5 起移除了大量旧 action需改用 Ruby wrappers、queries 和 gestures 重新实现迁移清单见 migrating_to_calabash_0.5.md历史版本变化可查 CHANGELOG.md。七、验证环境是否装对跑一遍官方集成测试仓库自带一个完整的被测示例工程NativeTestApp和对应的集成测试位于 ruby-gem/integration-tests/是验证环境是否装对的最好方式cd ruby-gem/integration-tests/NativeTestApp ./gradlew clean assemble cd ../.. bundle exec calabash-android run NativeTestApp/app/build/outputs/apk/debug/NativeTestApp.apk构建与运行说明详见 ruby-gem/integration-tests/README.md。当第一个绿色通过的 Scenario 出现在终端时你的 Calabash-Android 环境就搭建完成了 。八、延伸阅读入门总览与命令速查README.md官方安装文档documentation/installation.mdRuby API 参考documentation/ruby_api.md预定义步骤大全ruby-gem/lib/calabash-android/canned_steps.md当前版本信息ruby-gem/lib/calabash-android/version.rb按以上顺序完成环境准备、Bundler 安装、骨架生成与首次运行整个过程通常在半小时内。遇到报错时先对照第五节的环境变量与第六节的踩坑清单自查基本可以解决绝大多数安装问题。赞分享移动开发开发工具【免费下载链接】calabash-androidAutomated Functional testing for Android using cucumber项目地址https://gitcode.com/gh_mirrors/ca/calabash-android点击查看免费下载相关推荐如何冻结TRX并为超级代表投票TRON投票机制简单指南如何冻结TRX并为超级代表投票TRON投票机制简单指南 在波场TRON网络中每个持有TRX的账户都拥有选举权。本文带你快速搞懂TRON投票机制如何冻结TR如何快速安装GLPI从零开始的完整教程如何快速安装GLPI从零开始的完整教程 GLPIGestionnaire Libre de Parc Informatique是一款强大的开源IT资产管理后端企业应用ITSMVoxelMorph-PyTorch 图像配准完全指南VoxelMorph PyTorch 图像配准完全指南 VoxelMorph PyTorch 是一个基于深度学习的无监督 3D 可变形图像配准方法的非官方 Py网络安全移动开发应用安全创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进