用于Android的Calabash自动化测试教程

Calabash是什么?

Calabash是一个开源验收测试框架,允许编写和执行iOS和Android应用的测试。 它是一个自动化用户界面框架,允许使用Cucumber用Ruby编写测试。

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

在本教程中,我们将学习-

  • 为什么使用Calabash做自动化测试?
  • 葫芦和BDD
  • 如何安装Calabash
  • 使用Calabash

Calabash的优势与劣势

优势 劣势
它有助于提高吞吐量/生产力。 编写自动化测试脚本需要熟练。
提高质量或提高质量的可预测性 调试测试脚本是一个主要问题。
提高流程或产品的健壮性(一致性)。 在回放方法的情况下,测试维护成本很高。
提高产量一致性,降低人工成本和费用 如果测试脚本测试更多屏幕,则很难维护测试数据文件

Calabash和BDD

  • Calabash是行为驱动开发(BDD)。它与测试驱动开发(Test Driven Development,TDD)相同,但是指定了应用程序行为,而不是创建测试来描述API的形状。
  • BDD是一个多个利益相关者参与的过程,以创建对必须构建的内容的共同理解。
  • BDD有助于从企业所有者的角度构建正确的软件和进行设计。

如何安装Calabash

第一部分) 安装Java JDK

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

步骤1) 从url http://rubyinstaller.org/downloads下载ruby

步骤2) 打开可执行文件,按照屏幕上的说明操作。单击完成。

在Windows10上使用Ruby启动命令提示符,然后在命令下面键入。

ruby –v

第三部分) 下载安装Android

第一步) 在http://developer.android.com/sdk/index.html下载Android Studio

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

第四部分) 安装Calabash Android

步骤1) 在控制台中键入install calabash-android。安装将启动,并需要一些时间才能完成

步骤2) 安装完成后,键入calabash-Android版本

使用calabash

打开“calabash-android-0.9.0”文件夹。它位于路径C:23,文件夹名称将与机器上安装的ruby/calabash版本同步更改。 打开文件夹。注意这个基本框架。

  • *.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:
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)的概念
  • 它通过将其工作划分为以下四个层来自动执行代码

IT赶路人

专注IT知识分享