MonkeyRunner 在进度完成时“睡觉”

Posted

技术标签:

【中文标题】MonkeyRunner 在进度完成时“睡觉”【英文标题】:MonkeyRunner "sleep" while a progress finish 【发布时间】:2013-07-05 23:42:27 【问题描述】:

我即将自动扫描我的设备以查找恶意软件文件。我使用 MonkeyRunner 连接、启动反恶意软件并开始扫描。这是我使用的一些代码:

device.startActivity(component=runComponent)
MonkeyRunner.sleep(2)
device.touch(250, 750, 'DOWN_AND_UP')
MonkeyRunner.sleep(1)
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(1)
device.touch(350, 750, 'DOWN_AND_UP')

按下相应的按钮直到扫描开始..

现在我需要以某种方式使脚本休眠.. 直到扫描完成,才能继续执行其他一些操作。由于我们不知道 AV 会扫描多长时间,所以我们无法使用特定数字的睡眠功能...

我想用应用程序活动做点什么,但不知道是什么:/

任何想法都会非常有用

最好的问候 扬尼斯

【问题讨论】:

什么是显示扫描进度,一个对话框?您可以等待它被关闭。 【参考方案1】:

尝试使用异步任务。在 OnPreExecute() 中初始化脚本并在后台启动它。然后使用 OnPostExecute() 显示结果。这样用户仍然可以在前台做一些事情。

其他方法是使用服务并创建特定的事件和事件监听器,但这会比较棘手。

【讨论】:

以上是关于MonkeyRunner 在进度完成时“睡觉”的主要内容,如果未能解决你的问题,请参考以下文章

Monkeyrunner测试小实践

monkeyrunner之坐标或控件ID获取方法

MonkeyScript测试命令集合

monkeyrunner对比屏幕局部图像.getSubImage()

使用Adt自带的工具进行Android自己主动化測试

Monkeyrunner命令