airtest选定随机位置点击,自动化点击,自动化测试adb随机位置点击,有需要拿去改改
# -*- encoding=utf8 -*- __author__ = "AirtestProject" from airtest.core.api import * from random import randint class PorTouch(object): def __init__(self): # 1.TODO 连接 auto_setup(__file__) # 2 生成随机位置 pos = self.get_em() rectangle_pos = [i['rectangle'] for i in pos] # 3 生成后的随机数列表 lis_pos = self.rand_pos(rectangle_pos) # 4.位置点击 self.go_work(lis_pos) # 定位 def get_em(self): """ :return: AirProject_em """ # [{'result': (538, 1423), 'rectangle': ((490, 1363), (490, 1483), (587, 1483), (587, 1363)), 'confidence': 0.9852163195610046}, # {'result': (301, 1186), 'rectangle': ((253, 1126), (253, 1246), (350, 1246), (350, 1126)), 'confidence': 0.9825006723403931}, # {'result': (775, 1186), 'rectangle': ((727, 1126), (727, 1246), (824, 1246), (824, 1126)), 'confidence': 0.9197724461555481}, # {'result': (249, 1894), 'rectangle': ((201, 1834), (201, 1954), (298, 1954), (298, 1834)), 'confidence': 0.7261688709259033}] results = find_all(Template(r"tpl1662624311911.png", record_pos=(-0.002, -0.178), resolution=(1080, 2520))) return results # 随机x组偏移量 def rand_pos(self,rectangle_pos): """ :rectangle_pos (1,2,3,4) :return:(左上,左下,右下,右上) """ # 结果有几组就生成几组随机数 lis_pos = list() for i in rectangle_pos: # i = ((490, 1363), (490, 1483), (587, 1483), (587, 1363)) x = randint(int(i[0][0]),int(i[3][0])) y = randint(int(i[0][1]),int(i[1][1])) lis_pos.append((x,y)) return lis_pos # 开始点击所有 def go_work(self,tup_pos): for i in tup_pos: # TODO 点击每个位置 touch(i) if __name__ == '__main__': PorTouch()