Android Calabash 测试工具教程
什么是 Calabash?
Calabash 是一个开源的验收测试框架,允许您为 iOS 和 Android 应用程序编写和执行测试。
它是一个自动化用户界面框架,允许使用 Cucumber 用 Ruby 编写测试。
Calabash 的工作原理是通过在移动应用程序中启用自动 UI 交互,例如按下按钮、输入文本、验证响应等。它可以配置为在不同的 Android 和 iOS 设备上运行,从而提供实时反馈和验证。
为什么选择 Calabash 自动化?
优点 | 缺点 |
---|---|
它有助于提高吞吐量/生产力。 | 需要熟练掌握才能编写自动化测试脚本。 |
提高质量或提高质量的可预测性 | 调试测试脚本是一个主要问题。 |
提高流程或产品的稳健性(一致性)。 | 在回放方法的情况下,测试维护成本很高。 |
提高输出一致性,降低劳动力成本和费用 | 如果测试脚本测试的屏幕较多,则测试数据文件的维护很困难 |
Calabash 和 BDD
- Calabash 是**行为驱动开发 (BDD)**。它与测试驱动开发 (TDD) 相同,但不是创建测试来描述 API 的形状,而是指定应用程序行为。
- BDD 是一个过程,其中多个利益相关者共同努力,对要构建的内容达成共识。
- BDD 有助于从业务所有者的角度构建正确的软件和设计。
如何安装 Calabash
**第一部分)**安装Java JDK – 请参阅本指南 – /install-java.html
第二部分)下载并安装 Ruby。
**步骤 1)**从 URL **https://rubyinstaller.ruby-lang.org.cn/downloads** 下载 Ruby
**步骤 2)**打开 exe 文件,按照屏幕上的说明进行操作。安装完成后,您将看到以下屏幕。单击“完成”。
在 Windows 10 上使用 Ruby 启动命令提示符并输入以下命令。
ruby –v
第三部分)下载并安装 Android
**步骤 1)**在 https://developer.android.com.cn/studio 下载 Android Studio
**步骤 2)**打开 exe 文件,按照屏幕上的说明完成安装。完成后单击“完成”按钮
第四部分)安装 Calabash Android
**步骤 1)**在控制台中键入 **install calabash-android**。安装将开始并需要一些时间才能完成
**步骤 2)**安装完成后,键入 **calabash-android version**
使用 Calabash
打开“calabash-android-0.9.0”文件夹。它位于路径 C:\Ruby23\lib\ruby\gems\2.3.0\gems\calabash-android-0.9.0。文件夹名称将与您机器上安装的 ruby/calabash 版本同步更改。
打开功能骨架文件夹。寻找这个基本框架。
- *.feature 文件包含我们要自动化的场景。
- feature 文件使用的方法写在“step_definitions”文件夹中的 *.rb 文件中。
- 通用方法、环境设置、应用程序安装和钩子应放在“support”文件夹中。
重新签名并构建应用程序
- Calabash-android resign *.apk
- Calabash-android build *.apk
将设备连接到系统/打开模拟器
检查设备是否连接。输入命令
adb devices
应显示连接的设备列表。
如何查找元素定位器
- 打开控制台。输入命令。
calabash android console "APK Path" start_test_server_in_background
- 上述命令在设备上启动应用程序。要查找元素定位器,请使用以下命令。
query "*"
这将显示当前屏幕上的所有元素定位器。
创建新脚本
打开 feature 文件并添加以下行
Feature: Login feature Scenario: As a valid user I can log into my app When I press "Login" And I enter my username And I enter my password Then I see "Welcome to coolest app ever"
打开步骤定义文件并在 *.rb 文件中定义方法。
Given /^I am on the login windows$/ do wait_for(:timeout =>100) { element_exists("* id:'loginInput;")} check_element_exists("* id:'loginInput;") end
执行测试项目
要执行测试项目,请使用以下命令
calabash-android run "APK Path" "feature file Path" – tags "tag name"
摘要
- Calabash 是一个新的开源框架,有助于自动化和测试任何 iOS 或 Android 应用程序。
- 要使用 Calabash,测试应该使用 Cucumber 用 Ruby 编写。
- 它使用行为驱动开发 (BDD) 的概念
- 它通过将其工作分为以下四个层来自动化代码
- 第一层
- 业务层
- 技术层
- 最终层