新手如何用Airtest实现在图片范围内随机点击?

这篇具有很好参考价值的文章主要介绍了新手如何用Airtest实现在图片范围内随机点击?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

1. 前言

前几天有个新手同学在Airtest官群里问了这样一个问题:

我是新手,在图片范围内随机点击 ,用Airtest怎么实现?代码?

那我们就以这个问题为例,浅浅聊一下,怎么把需求转化成我们的Airtest代码。

2. 了解Airtest

首先新手同学对Airtest要有以下几点认知:

  • ① Airtest是一个图像识别框架,它能在屏幕上用图像识别来找到想操作的位置并点击,所以Airtest本质上点击的是目标图片的坐标,默认是中心点
  • ② Airtest是python第三方库,除了Airtest本身的接口之外,我们随时可以import python的标准库或者其它第三方库,一起使用

3. 分析需求,转化成代码

1)查文档,找现成方法

有了以上2点认知后,我们再回到需求,“在图片范围内随机点击”,第一步我们要做的就是查询官方教程文档,看下有没有现成的方法可以使用:

  • ① 一般情况下,Airtest都是点击图片中心位置,不知道有没有点击图片内其它坐标的方法
  • ② 随机点击,怎么实现在图片内随机点击这个行为,不知道Airtest有没有随机点的方法

当我们查阅Airtest的教程文档之后,发现Airtest确实提供了点击图片内非中心坐标的方法,就是指定target_pos,但是只能点击图片内的9个点:

新手如何用Airtest实现在图片范围内随机点击?

这里似乎并不太符合在图片范围内随机点的需求。随后我们又查询了文档,发现Airtest也没有提供随机点击的方法。

2)分析需求,自己实现

那么我们到这里就需要进入到第二步,分析需求,看看需求都有哪些难点需要我们实现:

  • ① 在图片范围内点击,那意味着在整个图片的坐标范围内点击,那我们怎么拿到整个图片的坐标范围?
  • ② 怎么点击一个随机的坐标?

针对第一个难点,其实我们分别拿到目标图片x、y坐标的最小、最大值,就能确认坐标范围了。

再进一步思考,一张图片x最小值是图片的最左侧,最大值是图片最右侧;y最小值是图片最上方,最大值是图片最下方;那就意味着,我们只要拿到图片左上角和右下角的坐标,就能完全确认目标图片x、y坐标的最小、最大值,进而确认图片坐标范围。

第一个难点解决后,再来看第二个难点,随机点,这里就要借助python的标准库random了,能帮助我们生成一个随机数的函数。

3)将思考转化成代码

最后一步就是将我们刚才分析需求,得到的思路,转化成代码:
新手如何用Airtest实现在图片范围内随机点击?

# -*- encoding=utf8 -*-
__author__ = "AirtestProject"

from airtest.core.api import *
import random

auto_setup(__file__)

# 定义函数,得到目标图片的坐标范围
def pos_range():
    if exists(Template(r"tpl1697515204054.png", target_pos=1, record_pos=(-0.16, 0.154), resolution=(2960, 1440))):
        up_pos = exists(Template(r"tpl1697515204054.png", target_pos=1, record_pos=(-0.16, 0.154), resolution=(2960, 1440))) # 利用target_pos=0,拿到目标图片左上角的坐标
        down_pos = exists(Template(r"tpl1697515204054.png", target_pos=9, record_pos=(-0.16, 0.154), resolution=(2960, 1440))) # 利用target_pos=9,拿到目标图片右下角的坐标
        x = (int(up_pos[0]),int(down_pos[0])) # 拿到图片x坐标的范围
        y = (int(up_pos[1]),int(down_pos[1])) # 拿到图片y坐标的范围
        return x,y
    else:
        print("目标图片不存在")

# 分别拿到图片x坐标与y坐标的范围值
pos_r = pos_range()
x = pos_r[0]
y = pos_r[1]

# 在x、y的坐标范围内生成随机数
x_range = random.randint(x[0],x[1])
y_range = random.randint(y[0],y[1])

# 点击图片范围内任意坐标
touch([x_range,y_range])

4. 小结

最后,希望新手同学想要用Airtest动手实现一个需求的时候,别忘了以下几个步骤:

  • 查询官方教程文档,看看有没有现成的方法可以使用
  • 分析需求,拆解其中的难点逐一突破,找到解题思路
  • 动手编写脚本、调试、优化

这里附上我们官方教程文档的网址,欢迎同学们查阅哦:https://airtest.doc.io.netease.com/ 。

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

官方答疑 Q 群:117973773文章来源地址https://www.toymoban.com/news/detail-710876.html

到了这里,关于新手如何用Airtest实现在图片范围内随机点击?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTML实现图片点击放大效果

    1.样式 2.图片和遮罩层 3.效果实现代码

    2024年02月11日
    浏览(56)
  • 用JS实现点击按钮切换图片

    啥也不说,上代码 效果:

    2024年02月11日
    浏览(59)
  • 帝国CMS会员头像图片随机调用的实现方法

    前些时检测服务器发现安全狗扫出了网站图片附件中有提示后门的图片,检查发现是用户上传的头像图片。不知道是不是误报,但确实有这个风险,想想只能删掉用户上传图片头像的功能,改为默认随机设置的方法。 分享一段精准像素自用的一段随机设置会员头像的代码,非

    2024年02月03日
    浏览(49)
  • 自动化测试工具airtest之上传文件或图片(web自动化上传图片)

    web自动化测试图片上传的方法: 第一种为当具有input标签时,如: input type=\\\"file\\\" name=\\\"file\\\" multiple=\\\"multiple\\\" 这类可以通过selenium中的send_keys()上传 直接实现: driver.find_element_by_css_selector(\\\"[type=\\\'file\\\']\\\").send_keys(r\\\"文件地址\\\")  第二种为当不是input标签时,将不能使用上述方法我们可以

    2024年02月06日
    浏览(47)
  • swiper实现点击切换slide/图片效果

    swiper的切换方式一般为拖拽切换,滑动切换。 如果想要实现点击每一个slide就切换成下一个slide,那么可以使用click方法实现。 click方法 :回调函数,当你点击或轻触Swiper 后执行,相当于tap。 接受swiper实例和touchend事件作为参数。 注:Swiper5版本之前会有300ms延迟。 文档链接

    2024年02月16日
    浏览(57)
  • 【ArkTS】鸿蒙开发 在用户界面点击图片实现图片旋转和图片缩小动画

    为了实现图片点击旋转、缩放、位移等功能,我主要应用了多态样式:stateStyles()属性和动画animation()属性,具体用法可以参考官网给出的说明: stateStyles()属性: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-statestyles-0000001482592098-V2 animation()属性: https://devel

    2024年04月23日
    浏览(38)
  • 小程序中怎么实现点击弹出图片?

    需求是点击某个内容,弹出小于屏幕的图片,比如二维码、广告图等,弹窗内可以设置超链接跳转,以及关闭弹窗。以下记录不跳转,只关闭的代码思路。 1、写出弹窗图片和关闭按钮,将其定位在页面指定位置。默认display:none; 2、点击的内容上,添加点击事件,点击事件里

    2024年02月12日
    浏览(35)
  • VSCode Webview中如何实现点击下载图片

    众所周知,在一个普通的HTML页面中,如果要实现一个链接点击后下载图片,只需要在页面上放一个a标签,然后将属性href的值指向图片的URL或者Base64字符串就可以了。或者按照stackoverflow上提供的方法动态创建a标签来完成图片的下载动作。不过原理都是相同的。 但是这个方法

    2023年04月26日
    浏览(48)
  • HarmonyOS实现几种常见图片点击效果

    HarmonyOS提供了常用的图片、图片帧动画播放器组件,开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果、点击切换状态、点击动画效果、点击切换动效。 image组件 :图片组件,用于图片资源的展示。 image-animator组件 :帧动画播放器,用以

    2024年02月09日
    浏览(39)
  • JS - 生成随机数的方法汇总(不同范围、类型的随机数)

    (1)使用 random() 方法可以返回一个介于 0 ~ 1 之间的伪随机数(包括 0,不包括 1)。 (2)下面是一个测试样例 (1)这种最简单,因为和 random 的特点保持一致。只需使用如下公式即可: (2)比如下面生成 [10,15) 范围内的随机浮点数。 因为 random 的特点,要取得这几个区间

    2023年04月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包