一、环境
windows 10 + python3.6
二、需求
1、模拟android设备高频点击事件;
2、模拟规定次数的点击事件或模拟规定时间内的点击事件;
三、code
1、模拟规定时间内的点击事件
1 #!/usr/bin/env python3 2 # coding=utf-8 3 4 import subprocess 5 import time 6 7 8 def loop_click_for_android(run_time=5): 9 res = subprocess.Popen(‘adb devices‘, 10 shell=True, stdout=subprocess.PIPE) 11 res.stdout.read() 12 inputs = str(input("请确保已打开测试页面(y/n): ")) 13 14 if inputs == "y": 15 num = 0 16 node_time = time.time() 17 start_buttun = subprocess.Popen("adb shell input tap 600 1660") 18 if start_buttun: 19 while True: 20 result = subprocess.Popen("adb shell input tap 600 1660") 21 if result: 22 num += 1 23 if node_time + run_time <= time.time(): 24 break 25 else: 26 continue 27 print("发送点击次数{}".format(num)) # 次数统计并不准确 28 else: 29 print("程序关闭~") 30 exit(1) 31 32 33 loop_click_for_android()
2、模拟规定次数的点击事件
1 # !/usr/bin/env python3 2 # coding=utf-8 3 4 import subprocess 5 import time 6 7 8 def loop_click_for_android(run_num=150): 9 res = subprocess.Popen(‘adb devices‘, 10 shell=True, stdout=subprocess.PIPE) 11 res.stdout.read() 12 inputs = str(input("请确保已打开测试页面(y/n): ")) 13 14 if inputs == "y": 15 num = 0 16 node_time = time.time() 17 start_buttun = subprocess.Popen("adb shell input tap 600 1660") 18 if start_buttun: 19 while True: 20 result = subprocess.Popen("adb shell input tap 600 1100") 21 if result: 22 num += 1 23 if num == run_num: 24 break 25 else: 26 continue 27 over_time = time.time() 28 print("{}次点击的运行时间是:{}".format(run_num, over_time-node_time)) # 次数统计并不准确 29 else: 30 print("程序关闭~") 31 exit(1) 32 33 34 loop_click_for_android()