51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5125|回复: 6
打印 上一主题 下一主题

monkeyrunner安卓自动化中,为什么命令重启后不能拖拽屏幕, 请高手指教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-2-21 16:17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
环境:
我们的手机是这样的, 如果手机重启或者开机,启动完成后回出现锁屏的界面,就像大家的安卓手机一样,需要从左拖拽到右面来解开锁定的屏幕,不知道我说明白了吗! 很普通的过程。
问题:
自动化的过程中,如果手机重启,等重启完成后需要打开屏幕, 但是我们遇见的问题是手机重启后,不执行拖拽的功能。如果单独执行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环境都一样的。 我怀疑和驱动有关,可以安装手机和电脑间驱动都是同一部手机


请大侠们指教了???????? 谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-2-22 16:25:07 | 只看该作者
代码2之前,加  sleep(60) 试试
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-3-7 15:25:14 | 只看该作者
sleep(60)
手机重启的时间是不是超时了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-3-12 13:46:14 | 只看该作者
reboot 之后,执行2、3之前,adb连上了吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-3-13 10:21:34 | 只看该作者
回复 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)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2012-3-16 17:06:51 | 只看该作者
准备进入手机软件测试。有没有好书推荐
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2013-12-19 13:53:50 | 只看该作者
已经学习。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-22 22:53 , Processed in 0.075635 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表