[英]Android Emulator Shell Scripting with Ruby
我們正在開發一個ruby腳本,它執行一堆shell命令來啟動模擬器並運行一些calabash測試。
PID = fork do
Signal.trap('HUP') { puts 'PROCESS ENDED'; exit }
exec 'emulator -avd TestDevice1'
end
fork do
sleep(55)
exec 'adb shell input keyevent 82'
end
fork do
sleep(60)
exec 'calabash-android run ~/MyApp/MyApp.apk'
Process.Kill('HUP', PID)
end
我們當前正在使用sleep命令,因此在模擬器完全就緒之前,calabash測試不會運行。 這不太理想。 是否有Android命令來檢查設備是否准備好了? 我的意思是Android已經啟動並顯示鎖定屏幕。
我發現檢測仿真器是否可以使用以及Calabash啟動安裝過程的最可靠方法是檢測bootanim
何時停止。
您可以使用終端中的ADB檢查模擬器是否已完成手動引導:
adb shell getprop init.svc.bootanim
作為Calabash測試套件的一部分,我在Rake命令中有以下內容可以解決這個問題:
booting = ''
while booting != 'stopped'
booting = `adb shell getprop init.svc.bootanim`.strip
puts 'Waiting for emulator to boot'
sleep 2
end
希望這對你有用!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.