calabash-android Win10 入门笔记

 
概述
    Calabash是一个BDD的UI自动化验收测试框架,可以利用该框架编写和执行测试用例,支持Android和IOS应用。
 

快速开始

包括以下内容:
1)安装calabash-sandbox ——介绍了怎么去安装calabash-sandbox和使用calabash-sand去安装gem包
2)准备要测试的应用 —— 介绍了怎么去准备一个待测试应用
3)编写测试用例 —— 编写一个测试用例验证17位的信用卡卡号不通过并且显示错误提示
4)执行测试用例 —— 本地运行测试用例
 
在win 10 上安装calabash-sandbox
Calabash Sandbox 需要Windows 10 和Powershell.  管理员模式打开powershell,设置执行策略不受限制
set-executionpolicy unrestricted

接下来, 下载并安装 Calabash Sandbox :

(New-ObjectSystem.Net.WebClient).DownloadString("https://raw.githubusercontent.com/calabash/install/master/install-windows.ps1") | iex

命令运行后,窗口会有如下提示信息:

Done!Installed:
calabash-ios: 0.16.4calabash-android: 0.5.15xamarin-test-cloud: 1.1.2Execute'calabash-sandbox' to get started!

最后, 重置执行策略受限:

set-executionpolicy restricted
如下图:
calabash-android Win10 入门笔记
 
 
更新calabash-sandbox,命令行运行如下命令:
gem install calabash-cucumber
gem install calabash-android
gem install xamarin-test-cloud
 
重新安装calabash-sandbox,命令行运行如下命令:
rm -r -fo "${env:USERPROFILE}\.calabash\sandbox"
 set-executionpolicy unrestricted
 (New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/calabash/install/master/install-windows.ps1") | iex
 set-executionpolicy restricted
 

准备要测试的应用

下载官方提供的例子代码
calabash-android Win10 入门笔记
为了测试要构建一个有网络访问权限的APK,所以在<manifest />标签内添加如下语句
<uses-permission android:name="android.permission.INTERNET" />
calabash-android Win10 入门笔记
点击菜单Build->Generate Signed APK

aaarticlea/jpeg;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />
点击Create new... 根据提示信息创建keystore

calabash-android Win10 入门笔记

点击OK,然后一直下一步到完成。androidStudio默认会成成app-release.apk。
编写测试用例APK
1)启动powershell进入calabash-sandbox模式,进入到工程目录下:

calabash-android Win10 入门笔记

2)执行命令 calabash-android gen 生成features目录

calabash-android Win10 入门笔记

 
calabash-android Win10 入门笔记
3)创建第一个测试用例,编辑文件features/my_first.feature

calabash-android Win10 入门笔记

这个fearure文件里面的步骤使用的预定义的步骤,也就是测试代码系统已经存在了;也可以自己编写步骤,那样需要自己编写测试代码。
4) 在设备上运行测试用例
运行测试用例之前,需要先对apk进行重签名,在calabash-sandbox模式下运行
calabash-android resign ./app/app-release.apk

calabash-android Win10 入门笔记

重签名不需要每次运行都要进行,一般需要一次就够了
运行测试用例只需要执行如下命令即可(确保手机和电脑已经通过USB连接,并且开启调试模式)
calabash-android run ./app/app-release.apk
如果遇到以下错误
calabash-android Win10 入门笔记
是因为我们的系统是中文的,字符集为GBK编码,要通过chcp 65001 修改成UTF8编码再次运行

calabash-android Win10 入门笔记

 
下面采用中文的Feature,要在头文件中添加# language: zh-CN
同样的方法编写feature文件示例内容为:
# language: zh-CN
功能: 信用卡功能验证
信用卡数字必须精确到16位 场景: 信用卡数字过长
假如 等待主界面加载完成
当 在输入框输入 "99999999999999999"
并且 点击 "validateButton" 按钮
那么 我能看到信息 "Credit card number is too long." 显示在屏幕上 场景: Credit card number is too short
假如 等待主界面加载完成
当 在输入框输入 "999999999999999"
并且 点击 "validateButton" 按钮
那么 我能看到信息 "Credit card number is too short." 显示在屏幕上
在calabas_steps.rb文件中的代码为
require 'calabash-android/calabash_steps'

假如(/^等待主界面加载完成$/) do
wait_for_element_exists("* marked:'creditCardNumberText' ", timeout: 60)
end 当(/^在输入框输入 "([^"]*)"$/) do |arg1|
enter_text "* marked:'creditCardNumberText'", arg1
end 当(/^点击 "([^"]*)" 按钮$/) do |arg1|
tap_when_element_exists( "* marked:'#{arg1}'")
end 那么(/^我能看到信息 "([^"]*)" 显示在屏幕上$/) do |arg1|
wait_for_text(arg1, timeout:60)
end
同样的方式运行用例 截图
calabash-android Win10 入门笔记
 
OK,一个简单的用例运行完成。GOOD LUCK!
 
PS: 写的有些仓促,如果有错误还请指出!多谢!!
上一篇:Yahoo Programming Contest 2019.F.Pass(DP)


下一篇:BZOJ_1826_[JSOI2010]缓存交换 _线段树+贪心