簡體   English   中英

使用Ruby的Android Emulator Shell腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM