Calabash 测试工具教程 Android

葫芦是什么?

Calabash 是一个开源的接受 测试与验证 允许你编写和执行 iOS 测试的框架,以及 Android 应用。

它是一个自动化用户界面框架,允许使用 Ruby 编写测试 Cucumber.

Calabash 的工作原理是实现移动应用程序中的自动 UI 交互,例如按下按钮、输入文本、验证响应等。它可以配置为在不同的 Android 和 iOS 设备,提供实时反馈和验证。

为什么选择 Calabash Automation?

性能 缺点
它有助于提高产量/生产力。 需要熟练编写自动化测试脚本。
提高质量或提高质量的可预测性 调试测试脚本是一个主要问题。
提高流程或产品的稳健性(一致性)。 如果采用回放方法,测试维护成本很高。
提高产出的一致性并降低劳动力成本和费用 如果测试脚本测试更多屏幕,则测试数据文件的维护会很困难

葫芦和BDD

  • 葫芦是 行为驱动开发 (BDD)。它与测试驱动开发(TDD)相同,但不是创建测试来描述 API 的形状,而是指定应用程序行为。
  • BDD 是一个由多个利益相关者参与进来,对需要构建的内容达成共同理解的过程。
  • BDD 有助于构建正确的软件并从企业主的角度进行设计。

葫芦和BDD

如何安装 Calabash

第一部分 安装 Java JDK – 请参阅本指南 – /安装-java.html

第二部分)下载并安装 Ruby。

步骤1) 从 URL 下载 Ruby http://rubyinstaller.org/downloads

安装 Calabash

步骤2) 打开 exe,按照屏幕上的说明进行操作。安装完成后,您将看到以下屏幕。单击“完成”。

安装 Calabash

使用 Ruby 启动命令提示符 Windows 10并输入以下命令。

ruby –v

安装 Calabash

第三部分)下载并安装 Android

步骤1) 下载 Android 工作室在 https://developer.android.com/studio

安装 Calabash

步骤2) 打开 exe,按照屏幕上的说明完成安装。完成后单击完成按钮

安装 Calabash

第四部分)安装 Calabash Android

步骤1) 在控制台中输入 安装 calabash-android。 安装将开始,需要一些时间才能完成

安装 Calabash

步骤2) 安装完成后,输入 calabash-android 版本

安装 Calabash

与 Calabash 合作

打开“calabash-android-0.9.0”文件夹。它位于路径 C:\Ruby23\lib\ruby\gems\2.3.0\gems\calabash-android-0.9.0。文件夹名称将根据您在机器上安装的 ruby​​/calabash 版本同步更改。

打开功能骨架文件夹。留意这个基本框架。

与 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)的概念
  • 它通过将工作分为以下四个层来实现代码自动化:
  • 第一层
  • 业务层
  • 技术层
  • 最后一层