gpt4 book ai didi

使用 Ruby 编写 Android 模拟器 Shell 脚本

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:06 24 4
gpt4 key购买 nike

我们正在开发一个 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

我在 Rake 命令中有以下内容作为 Calabash 测试套件的一部分,它可以解决问题:

booting = ''

while booting != 'stopped'
booting = `adb shell getprop init.svc.bootanim`.strip
puts 'Waiting for emulator to boot'
sleep 2
end

希望对你有用!

关于使用 Ruby 编写 Android 模拟器 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com