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

APP自动化--元素操作之九宫格解锁密码图案相关推荐

  1. [Appium] App自动化-元素定位

    [Appium] App自动化-元素定位及工具 一.元素定位工具简介 Web自动化是通过浏览器自带的F12键进行元素定位,但是App自动化支持三大定位工具(UIAutomatorView/Appium ...

  2. APP自动化_操作微信小程序/H5页面实现自动化_多终端并行

    APP自动化_混合App自动化理论相关 原理:本质是混合app,应该用切入webview的方法去自动化web页面. 现状:目前由于技术原因无法切到webview中做自动化. 方案:采用原生app自动方 ...

  3. App自动化元素定位不到?别慌,3大工具帮你解决

    在日常的android app自动化测试工作当中,很多朋友在元素定位时,会遇到以下类似的报错: 然后会来问,这是啥情况? 一般情况下,都会送上以下亲切的关怀: 1)adb能识别到设备吗? 2)设备有被 ...

  4. App自动化元素查看工具

    Appium是基于Selenium的,所以和Selenium代码定位元素的基本规则相同 find_element_by_XXX 方法,返回符合条件的第一个元素,找不到抛出异常 find_element ...

  5. App自动化元素定位技巧__根据 XPATH 定位

    App元素定位技巧__根据 XPATH 定位 1.根据 XPATH 定位. 1.1.Xpath在appium中的原理: 在Appium中,我们没法使用css,因为css是 web 专用的,与web不同 ...

  6. 9宫格解锁 android_手机九宫格解锁密码忘记了怎么办?忘记安卓九宫格解锁密码解决方法...

    法一: 使用第三方手机管理软件中的清除密码功能.前提是手机之前已经root并且usb调试模式处于打开状态.此方法不能保证100%有效,仅作为忘记密码后的尝试方法. 例如:刷机精灵中实用工具中的清除密码 ...

  7. App自动化手机操作

    获取手机分辨率 #返回字典类型,{'height':X,'width':Y} driver.get_window_size() 手机截图 #截图留存,根据图片发现问题 driver.get_scree ...

  8. App自动化界面操作_按键模拟(模拟键盘信号)、driver.keyevent(keycode)

    查询Keycode:百度搜索 安卓keycode https://blog.csdn.net/midux/article/details/80064054 Android KEYCODE键值对应大全 ...

  9. android 手机在忘记解锁密码/图案情况下,且未开通usb调试模式下如何解锁

    在紧急拨号界面上输入"*983*987#"点击重置手机就可以了,但是恢复后手机上保存的东西都清除了. 转载于:https://blog.51cto.com/lj1987/15392 ...

最新文章

  1. 《因果学习周刊》第5期:NeurIPS2021 因果发现最新进展
  2. 丁磊:噢买尬,买它,华少别抢话
  3. 115 存至网盘 也有限制?
  4. 什么是死锁?死锁产生的四个必要条件?如何避免与预防死锁?
  5. ubuntu 编译安装php mysql_ubuntu编译安装php5 mysql nginx
  6. Linux 中的动态链接库和静态链接库是干什么的?
  7. php敏感字符串过滤_PHP代码审计入门:常见的危险函数和审计点
  8. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。...
  9. linux 基本指令
  10. 切换器黑屏_景阳华泰科技高清无缝矩阵切换器高端视频会议运用
  11. 浅入浅出理解傅里叶变换
  12. 哲学家问题(java)的三个解法
  13. C ++ 类 | 类的辅助函数(Helper Functions) ,类与数组_3
  14. mvc路由原理 php_PHP实战002:CodeIgniter安装和入门使用
  15. matlab2016一条命令设置坐标轴标签旋转角度、字体大小和字体!
  16. element ui的table组件在鼠标滑动时边框线消失的解决
  17. python发出报警声音(C#一样适用)
  18. CSDN钱包提现协议
  19. 计算机网线怎么连接另一台电脑,教你如何用一根网线将两台电脑直连
  20. 抖音飞鸽售前售后相关指标

热门文章

  1. 13-ZF标志位,JB和JNB跳转指令
  2. 黑客水平测试 大家可以自测一下
  3. 工欲善其事必先利其器之Mac ps快捷键
  4. React学习笔记——redux里中间件Middleware的运行机理
  5. HTML之表格,表单的使用
  6. 区域卫生平台用户分析
  7. 阿里巴巴三面总结,讲一讲从P5到P8需要掌握的知识点,本人已成功入职。
  8. 总结 所有的git错误 持续更新--------
  9. PCB层里面这些知识你都懂吗?
  10. 安全编码实践:什么是安全编码标准?