Airtest touch 接口那点事

fishfish-yu · 2019年10月25日 · 5032 次阅读

注:我们的 Airtest 官方公众号(AirtestProject)会持续更新大家对于 Airtest 感兴趣的问题,欢迎有需要的同学关注并查看我们更多的内容。
如想向我们反馈关于 AirtestProject 想了解的问题,欢迎到公众号后台留言

前言

touch 可以说是大家高频使用的一个接口了,但如果仅仅是用来对一张截图进行点击操作的话,那可能还远远不能满足大家的需求。有时候大家还会遇到需要在 touch 的时候进行长按/双击/点击某个坐标等等的情况。所以今天,我们将主要介绍以下内容:

1.touch 接口支持的平台和参数

2.Android 和 Windows 上的 touch 语句有什么不同

3.如何写自定义的 touch 语句

touch 接口支持的平台和它的参数

首先我们需要知道,touch 接口是在当前设备画面上进行一次点击,它支持的平台有 Android, Windows,和 iOS。它包含以下 3 个参数:

  • v – 点击位置,可以是一个 Template 图片实例,或是一个绝对坐标 (x, y),例如:
    touch(Template(r"tpl1571301619141.png", record_pos=(-0.343, 0.117), resolution=(1080, 1920))) touch([10,10])
  • times – 点击次数,times 默认是为 1 的,如果需要设置别的点击次数,可以像下面这样传参:
  • kwargs – 平台相关的参数 kwargs,不同的平台这个参数会有所不同

Android 和 Windows 上 touch 语句的区别

截图的操作不同

  • 连接 Android 设备后,点击左侧菜单的 touch,然后在安卓设备的画面上框选好截图,脚本编辑窗就会自动生成 1 条 touch 语句
  • 嵌入 Windows 应用后,点击左侧菜单的 touch,然后在嵌入应用的画面上框选好截图,还需要双击截图,脚本编辑窗才会生成对应的 touch 语句

平台相关的参数 kwargs 不同

  • Android 平台:
    Android 平台下的 touch 接口,只有两个参数,posdurationpos指的是位置坐标,duration指的是点击屏幕的时长 。

  • Windows 平台:
    而 Windows 平台下的 touch 接口,除了pos,它还拥有更多的可选参数,比如right_click--右键点击等,并且duration也是它的可选参数之一。

自定义 touch 语句

从上文中,我们了解到了 touch 接口可以传入的参数有哪些,值得注意的是,不论是 Android 平台下的 touch 还是 Windows 平台下的 touch,pos 都是必传的参数。了解这一点后,下面我们讲一下如何通过传入特定的参数,来自定义我们的 touch 语句:

点击某个坐标

直接把想要点击位置的绝对坐标传入 touch 接口即可。

touch([10,10])

设置长按

duration指的是点击屏幕的时长,默认是 0.01,当我们需要更长的点击时长,可以像下面这样传参:

#文字版代码
touch(Template(r"tpl1571300899340.png", record_pos=(2.171, 0.157), resolution=(659, 539)),duration=1)

双击

times指的是点击次数,默认为 1,双击只需要把点击次数设为 2 即可。

#文字版代码
touch(Template(r"tpl1571300899340.png", record_pos=(2.171, 0.157), resolution=(659, 539)),times=2)

右键点击(Windows 下)

Windows 平台下的 touch 可以传入right_click这个参数,默认值为 False,要实现右键点击,把right_click的值改为 True 即可。

#文字版代码
touch(Template(r"tpl1571300899340.png", record_pos=(2.171, 0.157), resolution=(659, 539)),right_click=True)

最后,如果大家对 Airtest 有疑问、BUG、建议,请到https://github.com/AirtestProject/AirtestIDE/issues 发布 issue,我们会有专人解答。同时,我们还提供了官方 QQ 群给大家沟通交流,目前 1 群已满,欢迎大家加入 2 群:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册