51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4312|回复: 3

【我分享】Android MonkeyRunner脚本编写技巧

[复制链接]
  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2015-1-7 08:40:58 | 显示全部楼层 |阅读模式
    Android 4.0已经发布了,令我失望的一点是monkeyrunner工具本身没有大的提高,SDK看上去没有什么变化,但是之前曾将看到趋势,源码已经引入Ichampview和ease等新的模块,可惜源码还没有发布,不知道具体情况,况且现在的monkeyrunner也无法执行。感觉目前sdk列出的功能太少,在写脚本的时候,限制太多,好在monkeyrunner的脚本是python形式的,丰富的库文件可以弥补这一缺陷1.  adb命令的执行:os.system()例如 adb root, adb push, adb pull, 可以用 os.system()来实现,例如os.system("adb push e:\\tmp\\email_eception.log /sdcard/")
    2.目录操作: os.chdir(),os.getcwd()os.chdir('e:\\tmp')      
    os.getcwd()
    3. 创建以时间命名的文件夹首先获取时间:time.ctime(), 获得的时间格式如"Mon Oct 31 15:48:30 2011",因为window不支持文件夹名包括“:”,并且带有空格也会带来兼容性的问题,可以用字符串处理函数str.replace来将空格用“_”替换,将“:”删除,st2.replace(" ","_").replace(":","")
    4. 判断文件是否存在os.path.exists(), 返回True 或 False
    os.path.exists("D:\\shellwork\\devtool\\setup\\music\\setup.bat")

    5. 连接之前要确保是以root身份连接的(adb root)os.system('adb root')
    os.system('adb wait-for-device')


    回复

    使用道具 举报

    该用户从未签到

    发表于 2015-3-2 15:16:07 | 显示全部楼层
    你好,想请教一个问题:是不是device.startActivity只能打开主页面的activity,不能直接用device.startActivity打开其他的activity。尝试了好久都是只能打开WelcomeActivity,程序的其他activity就打不开了。

    描述一下我的情况:

    在同一个工程下有两个package:com.maketure.mt和com.maketure.mt.camera。WelcomeActivity在mt里,CameraActivity在camera里。只能启动WelcomeActivity,不能启动CameraActivity。
    命令:device.startActivity(component = 'com.maketure.mt/com.maketure.mt.WelcomeActivity')可以打开WelcomeActivity。命令:device.startActivity(component = 'com.maketure.mt.camera/com.maketure.mt.camera.CameraActivity')打不开CameraActivity
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-3-2 15:16:47 | 显示全部楼层
    你好,想请教一个问题:是不是device.startActivity只能打开主页面的activity,不能直接用device.startActivity打开其他的activity。尝试了好久都是只能打开WelcomeActivity,程序的其他activity就打不开了。

    描述一下我的情况:

    在同一个工程下有两个package:com.maketure.mt和com.maketure.mt.camera。WelcomeActivity在mt里,CameraActivity在camera里。只能启动WelcomeActivity,不能启动CameraActivity。
    命令:device.startActivity(component = 'com.maketure.mt/com.maketure.mt.WelcomeActivity')可以打开WelcomeActivity。命令:device.startActivity(component = 'com.maketure.mt.camera/com.maketure.mt.camera.CameraActivity')打不开CameraActivity
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-16 22:32 , Processed in 0.073893 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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