里面写得很详细哦,
注意!!
当没有执行完循环后,三次ctrl+c可退出。但再次执行时会报错。
解决方案:
在每次使用device的时候必须先要初始化device,
device = MonkeyRunner.waitForConnection()
所以测试时可以设置自己有时间等待的循环次数,等正常运行结束则下次依旧可以正常运行该文件;
若要中途退出,则需要初始化device。
可复制代码:
#coding:utf-8
#保存文件格式记得选择utf-8,默认是ansi
# 引入本程序所用到的模块
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
import random
import time
import os
# 连接手机设备
device = MonkeyRunner.waitForConnection()
if not device:
print "Please connect a device to start!"
else:
print "start test"
#将text.txt文档赋值给file_object(若没有则创建text.txt)
file_object = open('e:\\text.txt', 'w+')
num = 0
while (num < 520):
#给x一个随机数(不超过屏幕的宽)
x = random.randint(0,1000)
#给y一个随机数(不超过屏幕的长)
y = random.randint(50,1800)
device.touch(x,y,"DOWN_AND_UP")
print x
print y
MonkeyRunner.sleep(0.5)
num += 1
#写入到text.txt文档(内容覆盖)
file_object.write(str("value:")+str(x)+' '+str(y)+'\n')
file_object.write(str("num=")+str(num)+'\n')
file_object.write(time.asctime(time.localtime(time.time()))+'\n')
file_object.write('logcat -v time *:W ' + '\n')
file_object.close()
#time.time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数)
#time.localtime(time.time()) time.localtime()作用是格式化时间戳为本地的时间。 如果sec参数未输入,则以当前时间为转换标准。
#time.asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串