Poco常用API介绍

2493 篇文章 2 订阅
2330 篇文章 14 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读2.3k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502很多人可能会问,做APP自动化用Airtest不就够了吗,为什么还需要Poco?

因为Airtest的原理是图像识别,而当测试的业务场景是动态的页面控件时,那么这个时候单纯使用Airtest无法满足业务场景要求,所以在实际的工作当中,Airtest和Poco是配合在一起使用的。

今天就给大家介绍一下Poco框架常用的API,让大家对Poco框架的API能有个更加清晰的了解。

(一)官方文档

Poco介绍

APP自动化之Poco框架

官方文档

https://airtest.doc.io.netease.com/IDEdocs/poco_framework/2_API_word

(二)核心API介绍

1. 点击

语法格式:poco(name).click()

  • name:控件名或者是“属性名=属性值”方式

  • click():点击操作

  • long_click(): 长按操作

# 通过控件名定位点击
poco("star_single").click()
# 通过控件属性定位点击
poco(text="中古屋").click()
# 控件长按操作
poco('star_single').long_click()

2. 拖动

语法格式:poco("name1").drag_to(poco("name2"))

  • name1:控件1

  • name2:控件2

说明:将控件1拖动到控件2位置

# 拖动到另一个控件上
poco("name1").drag_to(poco("name2"))

# 拖动到固定目标上(相对坐标点)
poco("name1").drag_to([0.5, 0.5]
3. 等待
3.1 仅等待,但不报错

说明:使用wait方法设置等待控件的时间,再进行点击操作,并且该方法的返回值是控件本身,所以后面紧跟控件操作,比如:点击、长按

图片

# 默认等待在3s内等待控件出现,如出现,则进行长按操作
poco("icon").wait().click()
# 在10s内等待控件出现,如出现,则进行长按操作
poco("icon").wait(timeout=10).click()
3.2 等待,不满足条件报错

说明:wait_for_appearance()和wait_for_disappearance()这两个API都可以执行等待某个元素出现或者消失,超过等待时间(默认为120s),如果还没有找到控件元素,则会报PocoTargetTime的错误

图片

# 等待控件元素出现
poco("name1").wait_for_appearance(timeout=10)

# 等待控件元素消失
poco("name2").wait_for_disappearance(timeout=10)
3.3 Poco类的等待事件

3.3.1 wait_for_all( )

说明:wait_for_all( )是在超时时长结束之前,需要等待所有给定的UI对象都显示出来,才会进行下一步的操作

图片

# 等待的UI对象
elem1 = poco("yellow")
elem2 = poco("blue")
elem3 = poco("black")
# 执行等待操作,默认超时时间为120s
poco.wait_for_all([elem1,elem2,elem3])
poco("btn_back").click()

3.3.2 wait_for_any( )

说明:wait_for_any( )则是在超时时长结束之前等待任意一个UI对象出来,就会执行下一步操作

图片

# 等待的UI对象
elem1 = poco("yellow")
elem2 = poco("blue")
elem3 = poco("black")
# 开始定位元素,若是在超时时间120s内,定位到任意元素,则会执行下一步
fish = poco.wait_for_any([elem1,elem2,elem3])
4. 断言

应用场景:判断控件是否存在,若是找到控件,则返回true,否则返回false

语法格式:poco("name").exists()

if poco("name").exists():
    poco("name").click()
else:
print("控件不存在")

说明:Poco和Airtest框架都有一个exists方法,但需要区分它们之间的用法,Airtest的exists是用于判断图片是否存在,而Poco的exists方式是用于判断控件是否存在。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值