zoukankan      html  css  js  c++  java
  • python模拟android屏幕高频点击工具

    一、环境

        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()
  • 相关阅读:
    直接选择排序(C++模版技术实现)
    求素数
    快速排序(C++模版技术实现)
    堆排序(C++模版技术实现)
    简单链式二叉树(C++模版技术实现)
    归并排序(C++模版技术实现)
    求斐波那契数列的两种解法
    C++中改变setw(n)的对齐方式
    C中的64位整型
    Windows版GCC之TDMGCC 4.5.2
  • 原文地址:https://www.cnblogs.com/medivhxu/p/8492608.html
Copyright © 2011-2022 走看看