51Testing软件测试论坛

标题: 自己写了个Android自动测试框架 [打印本页]

作者: tmfdcyy    时间: 2011-11-29 06:52
标题: 自己写了个Android自动测试框架
花了三天时间才写出来的。欢迎试用、评价哦~

MonkeyAutoTest
功能:
对按键和触屏命令的封装。
系统需求:
Android ADB工具
Python 2.7
模块说明:
BSObject.pyc  框架
Settings.pyc  一些配置
log.bat   BSOject模块调用的命令
SH文件工具  执行android shell脚本文件(.sh)
测试脚本模板.py  范例
startApp.sh  范例调用该sh文件打开计算器(已注释掉该调用)
使用方法:
    测试脚本使用Python语言编写,导入BSObject模块即可
1.首先执行scriptStart()
2.测试脚本编写键盘或触摸屏操作(调用下列的函数)
3.脚本结束后执行scriptEnd()
函数:
    1.Sleep(sleeptime)   休眠XXX毫秒
    2.PressKey(keyname)   按键
    3.Click(X,Y)   点击触屏坐标(X,Y)
    4.Move(X1,Y1,X2,Y2)   点击触屏坐标(X1,Y1)后滑动到坐标(X2,Y2)

示范:(保存为.py)
import BSObject,os
os.system('Pause')
BSObject.scriptStart()
#here to write script.
#按键
BSObject.PressKey('9')
#等待
BSObject.Sleep(100)
#触屏点
BSObject.Click(30,400)
BSObject.Sleep(100)
#触屏移动
BSObject.Move(30,30,400,30)
BSObject.Sleep(100)
BSObject.scriptEnd()
作者: yyuanxiang    时间: 2011-11-29 12:39
能否把
BSObject.pyc  和Settings.pyc  源码文件发出来看一下,非常感谢
作者: TIB    时间: 2011-11-29 14:30
不错!如果能加入对象识别能力则更加好!
作者: tmfdcyy    时间: 2011-11-30 07:16
源代码。写的比较乱~所以没发~
原理是:用Monkey开得端口
adb forward端口给PC
然后PC telnet 后发送 key down XX命令
已经是用第三个方法了。
以前用adb shell sendkeycode
后来用sendevent后上传sh脚本运行
作者: yyuanxiang    时间: 2011-12-3 12:04
楼主,我使用eclipse+pydev 想写一个monkeyrunner的批处理,,输入from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice提示ImportError: No module named com.android.monkeyrunner错误,请问楼知道原因不
作者: 八宝粥    时间: 2011-12-7 13:03
呜呜呜    这就是传说中的自动化操作框架了。
测试呢?全截图?全靠眼睛来识别?
要是操作异常呢?怎么反映出来?

好吧。。。。。我鸡冻了。。。
作者: tmfdcyy    时间: 2011-12-7 21:24
回复 5# yyuanxiang


    我也打算上monkeyrunner呢~~能导入android的模块?monkeyrunner我还不会
作者: tmfdcyy    时间: 2011-12-7 21:29
回复 6# 八宝粥


    程序异常的话monkey会报错退出的。。
框架嘛~可以扩展功能的呀~其他界面异常的话 还没接口~~听说monkeyrunner可以截图~~~可以把底层实现从monkey替换乘monkeyrunner的~上层测试脚本不需变
作者: Nio    时间: 2011-12-14 14:03
monkey?
monkeyrunner就是个现成的框架。不过还是要膜拜下楼主~
作者: zered    时间: 2011-12-16 15:43
楼主好人~
作者: 40406_jun    时间: 2011-12-16 19:00
樓主很給力~
作者: tmfdcyy    时间: 2011-12-17 16:20
版本升级了,需要安装PYGAME模块才能使用。用PYGAME添加了个脚本录制工具。不用写脚本,录制即可。
作者: TIB    时间: 2011-12-20 11:08
不错!
作者: xiao08_25    时间: 2011-12-27 09:42
回复 5# yyuanxiang
你执行命令的路径在哪里?
作者: tmfdcyy    时间: 2011-12-28 15:43
回来看看~
作者: BenQ-SQA    时间: 2012-1-20 15:43
这么好的东西,不顶也不行啊
作者: BenQ-SQA    时间: 2012-1-20 15:44
这么好的东西,不顶也不行啊
作者: 小晓丫    时间: 2012-2-15 21:00
学习
作者: hbxtly    时间: 2012-3-6 18:07
正在学习中,希望得到启发
作者: yuchao666666    时间: 2012-3-9 13:29
学习中,思路想法不错!多谢楼主!
作者: tmfdcyy    时间: 2012-3-18 15:02
打算重构下 底层用DLL库 UI用MFC
目前还没会MFC 郁闷啊!!!
作者: jiejesse    时间: 2012-3-21 16:50
赞一个。
作者: lias1989    时间: 2012-3-23 21:42
回复 12# tmfdcyy


    hi, 请教个问题
我之前下载之后试用后,发现几个问题,还望不吝赐教
1.试用录制.py的时候屏幕一直乱跳,且截图框弹不出来,自己只有看shell里面的坐标点然后重新写
2.进入camera之后,设定的正确的camera拍照坐标,发现无法拍照,但是shell里面正常在跑。。。这是神马情况啊。。。
作者: Testing_leaf    时间: 2012-3-27 09:43
好东西,先下载~~~~~~~~~~~
作者: freddyxkimo    时间: 2012-3-28 14:13
回复 4# tmfdcyy
請教有操作的範例嗎???應該說要樓主可否提供 step by step 操作應用程序,謝謝
作者: roger138    时间: 2012-3-29 10:34
谢谢分享!!!!!!!!!!!!!!
作者: tmfdcyy    时间: 2012-3-30 07:59
回复 23# lias1989


pygame安装了么?camera是横屏界面 坐标算法是不一样的~你算错了吧
作者: tmfdcyy    时间: 2012-3-30 07:59
回复 25# freddyxkimo


    我记得里面有啊~
作者: tmfdcyy    时间: 2012-3-30 08:00
我很久没弄了~没空弄啊~
作者: freddyxkimo    时间: 2012-3-30 17:56
大哥幫幫新手啦,求救.......若有範例與圖示的話我這新手有救啦
作者: freddyxkimo    时间: 2012-3-30 17:56
大哥幫幫新手啦,求救.......若有範例與圖示的話我這新手有救啦
作者: freddyxkimo    时间: 2012-3-30 17:57
大哥幫幫新手啦,求救.......若有範例與圖示的話我這新手有救啦
作者: freddyxkimo    时间: 2012-3-30 17:57
大哥幫幫新手啦,求救.......若有範例與圖示的話我這新手有救啦
作者: cherrycl2008    时间: 2012-5-26 22:28
正在学习中,希望得到启发
作者: monkeytest15    时间: 2012-6-6 09:11
鼓励这样的尝试~~
作者: amy1122q    时间: 2012-6-6 17:01
我目前在做安卓手机测试,主要是多媒体这块,渴望和大家互相讨论学习。新建了个群242555237!
作者: amy1122q    时间: 2012-6-6 17:02
我目前在做安卓手机测试,主要是多媒体这块,渴望和大家互相讨论学习。新建了个群242555237!
作者: littletrue    时间: 2012-7-2 10:07
不懂
作者: hb_jessica    时间: 2012-7-2 16:01
PYGAME是什么?
作者: jsyuanxin    时间: 2012-7-5 11:41
学习中~~~
作者: chihaifeng1    时间: 2012-7-14 10:33
回复 5# yyuanxiang


    我遇到过和你一样的问题,最后总结后发现Windows系统无法正确执行eclipse+Python方式
作者: jiguanghover    时间: 2012-7-14 15:56
在windows下面用eclipse+ python调用monkeyrunner,我试了很长时间,发现还是不可以的,最好还是在linux系统下配置使用吧
作者: python_tester    时间: 2012-11-8 10:35
呜呜呜    这就是传说中的自动化操作框架了。
测试呢?全截图?全靠眼睛来识别?
要是操作异常呢?怎么反 ...
八宝粥 发表于 2011-12-7 13:03



    同感,看不出这框架提供了什么功能。
作者: python_tester    时间: 2012-11-8 10:36
回复 42# jiguanghover


    可以用 eclipse + jython 。调monkeyrunner.jar , 是可以的。
作者: liangshurong    时间: 2012-11-8 16:11
这样的操作好吗?通过坐标去点击和滑动....假如换了不同像素的屏幕还能测试?我觉得一直大家都说自动化测试发现不了问题或者维护成本很大都是这样吧
作者: liangshurong    时间: 2012-11-8 16:13
自动化我觉得要做好还是自己写一下代码吧!就这样录制的脚本基本上没通用性,更别说发现问题了!测试的基本还是发现问题,自动化同样是,如果做不到,倒不如不做!
作者: ingwlhot0801    时间: 2012-12-7 15:51
学习中,看起来不错
作者: ingwlhot0801    时间: 2012-12-7 16:07
楼主写的不是很详细,建议配图说明,那样更容易理解!
作者: tmfdcyy    时间: 2013-1-18 21:51
看看自己一年前的帖子 嘿嘿
作者: wh8876    时间: 2013-3-4 21:41
回复 1# tmfdcyy


    怎么做的,楼主,能聊聊吗??
作者: XuMeilingGoOn    时间: 2013-3-5 14:31
不错,顶
作者: 51testing_luo    时间: 2015-1-13 11:47
支持,楼主是榜样呀
作者: fengye1113    时间: 2015-11-18 15:03
学习了!谢谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2