尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
如何快速安装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

相关推荐

南航编译原理课程设计:Java手写词法与语法分析器实战指南

南航编译原理课程设计:Java手写词法与语法分析器实战指南

简介:本资源是南京航空航天大学《编译原理》课程设计的完整实现包,面向计算机专业本科生及编译技术初学者,聚焦词法分析与语法分析核心环节,提供可直接运行、经验证无BUG的工程级实践方案。压缩包共32个文件,涵盖8个关…

📅 2026/10/10 16:07:57
用Python实现本地模拟横向联邦学习:从FedAvg到单机可复现实验

用Python实现本地模拟横向联邦学习:从FedAvg到单机可复现实验

简介:面向机器学习初学者与联邦学习研究者的横向联邦学习本地模拟资源,使用Python构建,以公开数据集搭建可复现的单机模拟环境,让没有分布式集群的读者也能体验多客户端协作建模的完整过程。资源从数据加载、模型定义、客户端本地…

📅 2026/10/10 16:07:57
Java+SSM+Django仓库管理系统:从业务建模到并发控制实践

Java+SSM+Django仓库管理系统:从业务建模到并发控制实践

基于JavaSSMDjango的仓库管理系统,放在毕业设计和公司信息化项目里都是老牌选题了。但网上能找到的同类源码,大多数只是把增删改查套上一个库存表的壳子,真正能对接“明嘉新材料公司”这类生产制造场景的并不多。这篇内容不是列功能清单&…

📅 2026/10/10 16:07:57
MORE NEWS

更多资讯

📰

高光谱遥感影像分类实战:Python实现(2D)²PCA降维与双通道CNN-SVM融合

简介:本资源面向高校学生与开发者,提供一套基于Python的高光谱遥感影像识别与分类完整项目,适用于毕业设计、课程设计及项目开发等场景。项目围绕高光谱影像分类中的特征冗余与泛化能力不足等问题展开,涵盖基于波段组合(2D)PCA的降…

📰

ASP+Access校园新闻发布系统源码解析:从结构到部署避坑指南

简介:基于ASPAccess的校园新闻发布管理系统,是一套采用B/S架构的完整项目源码与配套文档,面向高校学生、ASP初学者以及有课程设计、毕业设计参考需求的开发者。系统涵盖前台新闻展示、后台分类管理、信息发布、图片上传等核心功能&#xff0c…

📰

基于用电时序数据的家庭占用检测:特征工程与分类建模实践

简介:这是一份数据科学方向硕士毕业设计项目代码,聚焦通过智能电表电力消耗数据检测家庭人员占用状态,面向从事机器学习、特征工程研究的开发者与相关领域学习者。项目基于ECO开源数据集,验证了功耗数据作为家庭占用预测指标的可行…

📰

海面舰船红外与可见光图像配准:从选型到避坑的工程实践

简介:这份PDF文献聚焦海面舰船红外与可见光图像配准这一计算机视觉与图像处理领域的技术难点,面向从事目标检测、图像配准与目标识别研究的科研人员、研究生及毕业设计学生。资源包内仅含1个PDF文件,约792KB,完整收录了发表于《红…

📰

微信小程序在线课堂毕设全解析:SSM框架实战与避坑指南

简介:这份资源是面向毕业设计场景的在线课堂微信小程序完整项目,基于微信小程序前端与SSM(SpringSpringMVCMyBatis)后台框架、MySQL数据库开发,适合需要完成类似课题的计算机相关专业学生参考。项目覆盖管理员、教师、…

📰

用 Solidity 写一个待办事项合约:从需求到代码的完整思考过程

上一篇我留了一道自测题:写一个管理"待办事项列表"的合约,支持添加、完成、删除、查询,每个待办有创建时间戳和完成状态,只有创建者能操作自己的待办。这一篇就是这道题的完整解答。但我不想只给你一份能跑的代码——我…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬