Poco常用API介绍

很多人可能会问,做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方式是用于判断控件是否存在。

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值