Automation tests 4 — run
那要怎麼跑起來咧?
run on android
在 Android 上做 automation,總是讓我覺得微風徐徐啊,因為真的不難,資料也不算少。
所有的資料都在這裡。
基本上,你會需要先做出另外一個 keystore,讓 calabash-android 用這個 keystore 把 apk 簽章後,丟到手機或模擬器上,就可以跑了。
詳細步驟
重新簽章 calabash-android resign XXX.apk
calabash-android console XXX.apk 會開一個 ruby 的 console,在這裡面,你需要先打一個指令:reinstall_apps
在 console 裡面,也可以打入 start_test_server_in_background
然後 query(“*”)
就是查詢所有在螢幕可視範圍內的 view 的物件的 id、位置等等,然後你可以使用 touch(“* id:’xxxx’”) 來按壓這個 id。把這些東西用 ruby 串一些 logic 不就是一個很簡單的 automation 的 test case 了?
要執行時,calabash-android run XXX.apk 就跑起來了,不管你用實機或是模擬器,都可以順利執行。
run on iOS
在 iOS 上執行,基本上跟 android 非常類似,但目前我只知道怎麼 run 在 emulator 上。
詳細步驟:
calabash-ios console XXX.app 會開一個 ruby 的 console,打入 start_test_server_in_background
然後
query(“*”)
就是查詢所有的 view 的物件的 id、位置等等,然後你可以使用 touch(“* id:’xxxx’”) 來按壓這個 id。
要執行時,打入 cucumber 就可以了。
run on web
最簡單,在 console 內打入 cucumber 即可。
或許你會想指定 browser 是哪個,ex: firefox、chrome 等等,那就
cucumber BROWSER=chrome
即可
在 web_auto/feature/env.rb 裡面,你可以看到更多的其他的參數。
run on mobile web
這需要搭配 appium,這邊以 Android 為例:
只要選好對應的 Android Version,把手機插上 usb,然後按下右上角的 launch,等一下以後
,你會看到這個畫面:
然後用 console ,打入
cucumber PLATFORM=android BROWSER=chrome
他就會跑起來了~
然後 Appium 視窗會噴一大堆訊息~
然後你應該就會看到 mWeb 的自動測試開始執行了。
當然,你也可以用桌機的 chrome 去跑 mobile 版的 web,一樣是可以的。
留言
張貼留言