51Testing软件测试论坛
标题:
monkeyrunner安卓自动化中,为什么命令重启后不能拖拽屏幕, 请高手指教
[打印本页]
作者:
wangfuwen
时间:
2012-2-21 16:17
标题:
monkeyrunner安卓自动化中,为什么命令重启后不能拖拽屏幕, 请高手指教
环境:
我们的手机是这样的, 如果手机重启或者开机,启动完成后回出现锁屏的界面,就像大家的安卓手机一样,需要从左拖拽到右面来解开锁定的屏幕,不知道我说明白了吗! 很普通的过程。
问题:
自动化的过程中,如果手机重启,等重启完成后需要打开屏幕, 但是我们遇见的问题是手机重启后,不执行拖拽的功能。如果单独执行monkeyrunner拖拽的代码,可以执行; 手机重启后执行拖拽不能实现。
monkeyrunner代码:
# 我们写的宏 def device_reboot(deviceId):
reboot = "adb -s " + deviceId +" reboot recovery"
os.system(reboot)
sleep(60)
i = 5
while i > 0:
find_device = "adb devices"
popen = os.popen4(find_device)
result = popen[1].read()
result_value = re.findall(deviceId,str(result))
if(deviceId == result_value[0]):
break
i = i - 1
# 主要的代码如下
device_reboot(deviceId) #代码行1
device = connectMonkey(deviceId) #代码行2
device.drag((int(fromX), int(fromY)), (int(toX), int(toY)), time, step) #代码行3
解决
请问高手们,是什么原因照成我 执行完 代码行1后, 不能执行代码行2和3呢?
如果单独执行2和3是可以的!
注: 有的机器可以完成一系列代码,有的电脑部可以,但是所有的电脑monkeyrunner环境都一样的。 我怀疑和驱动有关,可以安装手机和电脑间驱动都是同一部手机
请大侠们指教了???????? 谢谢
作者:
goodpress
时间:
2012-2-22 16:25
代码2之前,加 sleep(60) 试试
作者:
leon2614
时间:
2012-3-7 15:25
sleep(60)
手机重启的时间是不是超时了
作者:
feya2008
时间:
2012-3-12 13:46
reboot 之后,执行2、3之前,adb连上了吗?
作者:
40406_jun
时间:
2012-3-13 10:21
回复
1#
wangfuwen
楼主, 你的代码OK 着,可以实现的,应该是你的设备 S/N 序号有问题。
#######################
#######################
import os
import re
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
def device_reboot(deviceId):
reboot = "adb -s " + deviceId +" reboot recovery"
os.system(reboot)
MonkeyRunner.sleep(60)
i = 5
while i > 0:
find_device = "adb devices"
popen = os.popen4(find_device)
result = popen[1].read()
result_value = re.findall(deviceId,str(result))
if(deviceId == result_value[0]):
break
i = i - 1
device_reboot('Yvan')
device= MonkeyRunner.waitForConnection()
device.drag((100, 100), (400, 400), 1.0, 5)[attach]77963[/attach]
作者:
猴哥218
时间:
2012-3-16 17:06
准备进入手机软件测试。有没有好书推荐
作者:
chengweilu
时间:
2013-12-19 13:53
已经学习。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2