APP自动化 |
您所在的位置:网站首页 › 九宫格屏保解锁图案 › APP自动化 |
APP自动化时,遇到九宫格不要慌。根据咱们长期的自动化经验先进行一波分析。 当有多种情况的时候,例如: 1、 九宫格是由9个元素组成。那很简单啦!可以直接定位到元素的位置,然后用模拟触屏类(TouchAction类)的方法进行一波操作即可。 2、九宫格是正方形的元素。那就先计算下,把每个点平均成6段,就可以获取到第一个点的坐标。此时就可以使用TouchAction进行,按住第一个点,然后使用move_to移动到第二个点(move_to的用法:x,y为相对上一个坐标的移动距离),最后释放release()并执行perform()。 操作效果如下: from appium.webdriver.common.touch_action import TouchAction #模拟触屏 # 绘制九宫格 # 获取九宫格的起始坐标和大小 ele = driver.find_element_by_id("com.xxzb.fenwoo:id/gesturepwd_create_lockview") size = ele.size # 获取元素的宽和高 start_loc = ele.location # 获取元素的坐标 print("九宫格的大小为:",size,"九宫格的起始坐标:",start_loc) loc_1_x = start_loc["x"] + size["width"]/6 loc_1_y = start_loc["y"] + size["height"]/6 print("第一个点的x坐标:",loc_1_x,"第一个点的y坐标:",loc_1_y) ta = TouchAction(driver) ta.press(x=loc_1_x, y=loc_1_y).wait(200).\ move_to(x=size["width"]*2/6, y=0).wait(200).\ move_to(x=size["width"]*2/6, y=0).wait(200).\ move_to(x=-size["width"]*2/6, y=size["height"]*2/6).wait(200).\ move_to(x=-size["width"]*2/6, y=size["height"]*2/6).wait(200).\ release().wait(200).perform()3、 九宫格是长方形的元素。根据元素的大小进行分析和计算操作方式大同小异。
博主原创,若转载请标明出处:https://mp.csdn.net/postedit/83012109 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |