Auto Testing

  • 38
  • 0
  • 2019-01-05

使用Calabash android + Ruby + Cucumber

Auto testing

calabash環境設定

  1. 安裝 gpg -> 安裝 RVM - > install Ruby 2.3.1

參考網址 版本相依很重要,跳版安裝八成GG

  1. 修改 project 底下 .calabash_settings 設定 build 所使用的keystore 

#腳本環境

使用 AutoTesting Branch

#查詢測試環境資訊基本範例

calabash-android console *.apk

start_test_server_in_background

query("*")

# 開始執行範例

  1. 先 Build > Build APK > 取得 *.apk

          1.複製 *.apk 到 /Users/derek_chang/alleystore_android 目錄下 (跟features同一層)

  1. 執行 calabash-android run app-sandbox-debug.apk features/{腳本名稱}.feature

  2. 輸出檔案 calabash-android run .apk --format html --out reports.html


語法參考網站

  1. http://docs.testmunk.com/en/latest/steps.html#buttons

  2. https://azevedorafaela.wordpress.com/tag/is-checked-calabash/

  3. http://www.rubydoc.info/gems/calabash-android/0.6.0/Calabash/Android/

  4. 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