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