此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

上一期我们讲了 Airtest的点击位置与点击偏移,这期我们继续讲一下poco的点击位置与点击偏移。

2. Poco的点击位置

1)打开手机的显示触摸操作

以一个简单的Poco点击脚本为例:

poco(text="网易云音乐").click()

执行这条Poco脚本,会点在哪个位置上呢?同Airtest,我们可以在手机设置里面打开诸如“显示触摸操作”、“显示指针位置”的设置:

这样我们在运行脚本过程中,会非常清晰地看到点击位置的情况,有助于我们调试和优化脚本:

2)借助AirtestIDE的控件检索工具

除此之外,我们还可以借助AirtestIDE的poco检索工具,来查看控件的具体点击位置,还是以手机桌面的网易云音乐APP控件为例:

这里有2个属性需要我们注意的,一个是控件的 pos 属性,这个属性表示控件的点击位置,是一个相对坐标(Poco使用相对坐标系),通过这个属性,我们可以知道该控件在手机画面上的相对坐标,也就是执行控件点击时,点的相对坐标。

我们可以在IDE的选项设置中,同时勾选 实时坐标显示相对坐标 ,然后把鼠标移动到手机画面上查看控件对应的相对坐标:

另外一个值得关注的属性是 anchorPoint ,这个表示控件的锚点,目前执行Poco的点击操作时,就是点击的控件的锚点位置,[0.5,0.5]表示控件的锚点位于控件的中心点:

特别需要注意的是, 有些控件,也特别是部分游戏控件,锚点属性并不是[0.5,0.5],有的是[0,0],表示该控件的锚点在控件的左上角 ,依照现在Poco的点击规则,会点击在控件左上角的位置上,很大可能并不会触发有效的控件点击(意思是,点了个寂寞…)。

那这种情况我们该如何处理呢?不着急,等会往下看Poco的点击偏移就可以解决了!
(另外,该问题我们在下一个版本中也会修复,同学们可以期待下~)

3)借助运行报告

除了借助IDE的poco控件检索工具,我们还可以直接生成一份运行报告,来查看具体的点击情况:

3. Poco的点击偏移

刚才有提到,当控件的 anchorPoint 属性是[0,0],按照现在Poco的点击规则,会点到控件的左上角位置,未必能触发真正的点击,所以我们这时候可以巧妙地利用poco点击偏移,来修正我们的点击效果。

这个接口就是 focus。假设,目前我们有一个控件,它本身的 anchorPoint 为[0,0],我们希望能点击到这个控件的中心位置[0.5,0.5],就可以借助 focus 来实现:

poco("假设的控件").focus([0.5,0.5]).click()

我们来看一个使用 focus 的简单示例(为了更好的看到效果,这里使用了 long_click ):

另外,在部分全面屏设备下,可能会出现IDE检索控件的时候会发生偏移,或者执行poco点击脚本的时候,点击发生了偏移,这些情况,我们可以参考官方教程文档的内容:https://airtest.doc.io.netease.com/IDEdocs/device_connection/2_android_faq/#3 。

4. Poco点击的拓展

这里补充关于Poco点击的2个小知识点,一个是双击,一个是长按:

Poco的双击虽然提供了接口名 double_click,但实际是没有实现的:

poco(text="网易云音乐").double_click()

我们在运行的时候会报 NotImplementedError 的错误,当然我们还可以借助Airtest的双击,来实现对Poco控件的点击:

  • 利用get_position获取控件的相对坐标
  • 将控件的相对坐标转换成绝对坐标
  • 利用Airtest的double_click双击绝对坐标

关于Poco的长按,其实刚才我们也简单演示一下:

poco(text="网易云音乐").long_click()

5. 小结

关于Poco点击的内容我们就聊到这里,主要是分享了如何查看Poco的点击位置,如何主动做偏移点击,如何处理全面屏设备的poco点击问题等。感兴趣的同学可以收藏并且关注哦~


Airtest 官网:http://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b

官方答疑 Q 群:117973773

呀,这么认真都看到这里啦,帮忙点个赞或者收藏支持下我把,灰常感谢~

Poco脚本的点击位置与点击偏移相关推荐

  1. Android 自动点击工具,自动点击器app下载-自动点击工具 安卓版v1.0.2-PC6安卓网

    自动点击工具app是一款非常不错的系统工具类手机软件,有了自动点击工具app,你将从此释放双手进行抢购,还在等什么?下载自动点击工具app试试吧! 软件介绍 自动点击工具是一款记录手势和点击操作轨迹的 ...

  2. android x866.0 教程,poco脚本编写之api

    连接设备后使用poco 使用connect_device连接好指定设备后,会返回一个Device对象,将这个对象传入 AndroidUiautomationPoco第一个参数里进行poco的初始化, ...

  3. 模拟点击与鼠标点击区别_没有root权限也可以用adb玩机2——模拟按键点击脚本...

    前一段时间发过免root使用adb卸载系统预装应用,虽然没什么阅读量,但我觉得adb也是挺好玩的,也有各种骚操作,虽然有root权限会更好,如果没有也可以玩一玩. 电脑如何安装adb及adb常用命令, ...

  4. android radiogroup 获取点击位置_屏幕连点器,解放双手[Android]

    这里是"微友集市",我们坚持分享优质的资源,让更多人能用到更好的资源,少花冤枉钱.如果你有什么需要,可以给我们留言,我们会努力去为你寻找,或许你需要的,也是别人需要的... 1 自 ...

  5. Unity 获取鼠标点击图片时 获取点击位置的像素

    脚本要求: 需要获取颜色的图片以走下角为起点建立空物体 右上角建立空物体(两个空物体均设置为图片的子物体,设置好锚点,将坐标改为0即可).建立好碰撞体(BoxCollider).用2DBoxColli ...

  6. 鼠标点击器20+版本使用教程系列(2)多位置循环点击器

    鼠标点击器使用我们经常使用的一款软件,因此网上有很多功能不一点击软件,但是很多不能满足需求,今天带领大家了解我们开发系列的鼠标点击软件,多达20多个版本.今天为大家带来第2款软件-鼠标多位置循环点击器 ...

  7. Unity UGUI获取鼠标在屏幕的准确点击位置

    想要获取鼠标在屏幕的准确点击位置,千万不要胡乱写,什么转化坐标系,什么Ray射线检测都是浮云. 1,转化坐标系只是相对而言,并不能准确实现当前鼠标点击在屏幕的位置: 2,Ray检测,hit是需要碰撞的 ...

  8. 根据鼠标点击位置获取DataGridView的选择行号。

    一个非常非常郁闷的问题:在DataGridView中当右键点击某一行的时候才显示右键菜单. 找了好几个方法结果总是回归到对鼠标点击位置的判断,用鼠标点击位置来判断点中的是哪一行. 找了好几个函数都没有 ...

  9. JS获取页面鼠标点击位置的坐标

    本来想通过JS实现当前页面对其他页面的操作,在网上发现了这段js代码,先保存下来,可以获取页面鼠标点击位置的坐标. <html> <body> <script> f ...

最新文章

  1. 零基础入门学习Python(31)-异常处理2-try语句
  2. [TypeScript][文档]变量
  3. linux c 通过 /proc 获取 pid 进程 列表
  4. qemu 安装windows_BIOS+MBR启动引导安装双系统
  5. Linux笔记-bash中解决if语句中command not found问题
  6. Objective-C中的一些特殊的数据类及NSLog的输出格式
  7. axure日期选择器组件_vue干货分享,超过六种组件通信方法讲解和精髓归纳
  8. 【Elasticsearch】elasticsearch 7.x 查看分片未分配 (UNASSIGNED) 的原因
  9. modify sql_在SQL Server中使用JSON_MODIFY()修改JSON数据
  10. Top1方案源码和数据,腾讯广告受众基础属性预估
  11. 【Tensorflow踩过的坑儿】pb转pbtxt
  12. Altium net has no driving source问题
  13. c语言移动光标到指定坐标,C语言实现光标移动
  14. 【9102年】考研还是找工作?分享看完心得体会(如果你错过了月亮,那就不要错过星星了)
  15. h5在ios下拉上拉会带动整个页面出现空白解决方案
  16. Omniplan for Mac v3.5.0汉化破解版
  17. Nuxt.js理解 开启SSR渲染(介绍)---00
  18. 应届计算机科学与技术简历,计算机科学与技术应届生简历范文
  19. 软件设计——简单工厂
  20. 上机 3.1 Coordinate 坐标

热门文章

  1. 你写论文时发现了哪些非常神的网站?
  2. HTML、CSS 前端面试题收集
  3. 基于JavaEE的智能化网吧服务系统的设计与实现毕业设计论文
  4. 8.1 结构体的定义和使用
  5. C++ 算术基本定理
  6. 通常人们说i5处理器的计算机其中二五是指,计算机cpu?学会看CPU只要五分钟
  7. Android系统之Mtk开机logo镜像单独制作(不用全编译代码)
  8. 手机上如何学会使用计算机,手机怎么投屏到电脑上,我这儿有4种方法,一分钟让你学会...
  9. 电信行业大数据应用的四个方向
  10. tushare实战分析美元黄金与美债收益率、利率的关系