使用Calabash android + Ruby + Cucumber
Auto testing
calabash環境設定
- 安裝 gpg -> 安裝 RVM - > install Ruby 2.3.1
參考網址 版本相依很重要,跳版安裝八成GG
- 修改 project 底下
.calabash_settings
設定 build 所使用的keystore
#腳本環境
使用 AutoTesting Branch
#查詢測試環境資訊基本範例
calabash-android console *.apk
start_test_server_in_background
query("*")
# 開始執行範例
- 先 Build > Build APK > 取得 *.apk
1.複製 *.apk 到 /Users/derek_chang/alleystore_android 目錄下 (跟features同一層)
-
執行 calabash-android run app-sandbox-debug.apk features/{腳本名稱}.feature
-
輸出檔案 calabash-android run .apk --format html --out reports.html
語法參考網站
-
https://azevedorafaela.wordpress.com/tag/is-checked-calabash/
-
http://www.rubydoc.info/gems/calabash-android/0.6.0/Calabash/Android/
-
https://github.com/calabash/calabash-android/blob/master/documentation/ruby_api.md
常用語法
尋找id=store_name
query("* id:'store_name'")
列出全部的TabView class並檢查是否selected
query("android.support.design.widget.TabLayout$TabView index:0", :selected)
文字text=附近優惠 點擊畫面上'附近優惠的文字'
touch("* text:'附近優惠'")
根據id=button_watch_store 去做點擊的動作
touch("* id:'button_watch_store'")
輸入文字id=edit_digits 會搜尋畫面上id=edit_digits的EditText輸入文字 UNIFORM_NUMBERS=寫死的文字
enter_text("android.widget.EditText id:'edit_digits'", UNIFORM_NUMBERS)
往下滑動ScrollView
scroll('android.support.v4.widget.NestedScrollView', :down)
等待Activity畫面出現 指定的Activity = NewMainActivity
wait_for_activity("NewMainActivity")
按下鍵盤的done鍵
press_enter_button