快速開始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