Calabash 测试工具教程 Android
葫芦是什么?
Calabash 是一个开源的接受 测试与验证 允许你编写和执行 iOS 测试的框架,以及 Android 应用。
它是一个自动化用户界面框架,允许使用 Ruby 编写测试 Cucumber.
Calabash 的工作原理是实现移动应用程序中的自动 UI 交互,例如按下按钮、输入文本、验证响应等。它可以配置为在不同的 Android 和 iOS 设备,提供实时反馈和验证。
为什么选择 Calabash Automation?
性能 | 缺点 |
---|---|
它有助于提高产量/生产力。 | 需要熟练编写自动化测试脚本。 |
提高质量或提高质量的可预测性 | 调试测试脚本是一个主要问题。 |
提高流程或产品的稳健性(一致性)。 | 如果采用回放方法,测试维护成本很高。 |
提高产出的一致性并降低劳动力成本和费用 | 如果测试脚本测试更多屏幕,则测试数据文件的维护会很困难 |
葫芦和BDD
- 葫芦是 行为驱动开发 (BDD)。它与测试驱动开发(TDD)相同,但不是创建测试来描述 API 的形状,而是指定应用程序行为。
- BDD 是一个由多个利益相关者参与进来,对需要构建的内容达成共同理解的过程。
- BDD 有助于构建正确的软件并从企业主的角度进行设计。
如何安装 Calabash
第一部分 安装 Java JDK – 请参阅本指南 – /安装-java.html
第二部分)下载并安装 Ruby。
步骤1) 从 URL 下载 Ruby http://rubyinstaller.org/downloads
步骤2) 打开 exe,按照屏幕上的说明进行操作。安装完成后,您将看到以下屏幕。单击“完成”。
使用 Ruby 启动命令提示符 Windows 10并输入以下命令。
ruby –v
第三部分)下载并安装 Android
步骤1) 下载 Android 工作室在 https://developer.android.com/studio
步骤2) 打开 exe,按照屏幕上的说明完成安装。完成后单击完成按钮
第四部分)安装 Calabash Android
步骤1) 在控制台中输入 安装 calabash-android。 安装将开始,需要一些时间才能完成
步骤2) 安装完成后,输入 calabash-android 版本
与 Calabash 合作
打开“calabash-android-0.9.0”文件夹。它位于路径 C:\Ruby23\lib\ruby\gems\2.3.0\gems\calabash-android-0.9.0。文件夹名称将根据您在机器上安装的 ruby/calabash 版本同步更改。
打开功能骨架文件夹。留意这个基本框架。
- *.feature 文件包含我们要自动化的场景。
- 功能文件所使用的方法写在“step_definitions”文件夹内的*.rb文件中。
- 常用方法、环境设置、应用程序安装和钩子应该放在“support”文件夹中。
辞职并构建应用程序
- Calabash-android 辞职*.apk
- Calabash-android 构建*.apk
将设备连接到系统/打开模拟器
检查所连接的设备。输入命令
adb devices
应显示附加设备列表。
如何查找元素定位器
- 打开控制台。输入命令。
calabash android console "APK Path" start_test_server_in_background
- 上述命令在设备上启动应用程序。要查找元素定位器,请使用以下命令。
query "*"
这将在当前屏幕上显示所有元素定位器。
创建新脚本
打开功能文件并执行以下几行
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,测试应该用 Ruby 编写,使用 Cucumber.
- 它使用行为驱动开发(BDD)的概念
- 它通过将工作分为以下四个层来实现代码自动化:
- 第一层
- 业务层
- 技术层
- 最后一层