monkeyrunner脚本加强1

上一篇 / 下一篇  2019-04-17 14:19:00 / 个人分类:monkeyrunner

1、实现需求:打开"联系人",从既有列表中随机选取测试数据,新建联系人,批量执行100次并完成后截图保存到本地。
2、语言:Python
3、工具:pycharm

# -*- coding: UTF-8 -*-
# !usr/bin/python
# adb shell dumpsys window w | findstr \/ | findstr name=
# com.android.dialer/com.android.dialer.DialerAliasActivity

importtime
importrandom
importos
importstring

fromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyImage,MonkeyDevice
device = MonkeyRunner.waitForConnection()
act ='com.android.dialer/com.android.dialer.DialerAliasActivity'
second =1
screenPath ='E:\\screenshot\\F5\\'
now = time.strftime("%Y-%m-%d-%H-%M-%S")
list_str = ['ab','cd','ef','gh','ij','kl','mn','op','qr','st',
'uvw','xy','zz','qewe','360','&%¥','erer','fgsf', ]
list_tel = ['1234','5678','7890','2345','3456','4567','5678','6789',
'7899','5656','6767','7878','9090','8989','123123',
'343423','4545','45432','4321','5432','6543','7654','8765']
forxinrange(1,101):
ifdevice:
device.startActivity(act)
MonkeyRunner.sleep(second)
device.touch(651,103,'DOWN_AND_UP')
MonkeyRunner.sleep(second)
device.touch(580,180,'DOWN_AND_UP')
MonkeyRunner.sleep(second)

### 从列表中选择几个拼接成联系人姓名,并输入
# 这个方法:嵌套循环由于break了所以只能取出第一个元素
# for x in list_str:
# for y in list_str:
# select_elm = x+y
# device.type(select_elm)
# break
# break
# 方法1:
# select_str1 = random.choice(list_str)
# select_str2 = random.choice(list_str)
# join_str = select_str1 + select_str2
# device.type(join_str)
# 方法2:
select_list_elm = random.sample(list_str,2)# 随即从列表中选出两个元素组成新的列表
new_str =''.join(select_list_elm)
# new_str = string.join(select_list_elm).replace(' ',' ')
device.type(new_str)



device.touch(179,310,'DOWN_AND_UP')
# 从列表中随机选3个元素组成号码,并输入
select_tel = random.sample(list_tel,3)
new_tel =''.join(select_tel)
device.type(new_tel)

device.touch(651,97,'DOWN_AND_UP')
MonkeyRunner.sleep(2)
device.takeSnapshot().writeToFile(screenPath + now +'.jpg','jpg')
device.press('KEYCODE_HOME','DOWN_AND_UP')
device.press('KEYCODE_HOME','DOWN_AND_UP')
MonkeyRunner.sleep(2)



# 日志截取
path_temp = os.path.split(os.path.realpath(__file__))[0]
current_path = path_temp.replace("\\","/")
filename = current_path +"/testlog.log"
f =open(filename,'a')
timestamp = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
print(timestamp)
f.write(timestamp)
f.close()

4、编写中注意的问题:
(1)中文需要utf-8
(2)批量执行100次:for xinrange(1,101):
(3)随机:random
(4)由于未设置sleep的时间或者时间较短,导致截图的图片不一致问题

TAG:

 

评分:0

我来说两句

Open Toolbar