快速开始android
set-executionpolicy unrestricted
接下来, 下载并安装 Calabash Sandbox :ios
(New-ObjectSystem.Net.WebClient).DownloadString("https://raw.githubusercontent.com/calabash/install/master/install-windows.ps1") | iex
命令运行后,窗口会有以下提示信息:git
Done!Installed: calabash-ios: 0.16.4calabash-android: 0.5.15xamarin-test-cloud: 1.1.2Execute'calabash-sandbox' to get started!
最后, 重置执行策略受限:github
set-executionpolicy restricted
<uses-permission android:name="android.permission.INTERNET" />
点击菜单Build->Generate Signed APK
点击Create new... 根据提示信息建立keystore
点击OK,而后一直下一步到完成。androidStudio默认会成成app-release.apk。
编写测试用例APK
1)启动powershell进入calabash-sandbox模式,进入到工程目录下:
2)执行命令 calabash-android gen 生成features目录
3)建立第一个测试用例,编辑文件features/my_first.feature
这个fearure文件里面的步骤使用的预约义的步骤,也就是测试代码系统已经存在了;也能够本身编写步骤,那样须要本身编写测试代码。
4) 在设备上运行测试用例
运行测试用例以前,须要先对apk进行重签名,在calabash-sandbox模式下运行
calabash-android resign ./app/app-release.apk
重签名不须要每次运行都要进行,通常须要一次就够了
运行测试用例只须要执行以下命令便可(确保手机和电脑已经经过USB链接,而且开启调试模式)
calabash-android run ./app/app-release.apk
若是遇到如下错误
是由于咱们的系统是中文的,字符集为GBK编码,要经过chcp 65001 修改为UTF8编码再次运行
# 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." 显示在屏幕上
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