poco常用语法合集

本文详细介绍了Poco框架在不同平台如Android、Unity3D、Cocos等上的应用,展示了如何定义和使用Poco对象进行元素定位、点击、滑动、循环操作等常见UI测试与交互。同时,文中还涵盖了等待元素出现、消失、属性修改、截图、分辨率获取等功能,是进行自动化测试和游戏交互操作的重要参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pcoo常用的的语法:

androidpoco定义方法

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
dev = connect_device("android:///" + devices)
Androidpoco = AndroidUiautomationPoco(device=dev, use_airtest_input=True, screenshot_each_action=False)

unitypcoo定义方法方法

from poco.drivers.unity3d import UnityPoco
dev = connect_device("android:///" + devices)
poco = UnityPoco(device=dev)

cocos-luapoco定义方法

from poco.drivers.std import StdPoco
poco = StdPoco()

cocos-js poco定义方法

from poco.drivers.cocosjs import CocosJsPoco
poco = CocosJsPoco()

iospoco定义方法

from poco.drivers.ios import iosPoco
poco = iosPoco()
StdPoco定义方法
from poco.drivers.std import StdPoco
from poco.utils.device import VirtualDevice
poco = StdPoco(15004, VirtualDevice('localhost'))

启动apk

start_app(packname)  # 启动app

杀死apk进程

stop_app(packagename)

最简单的操作就是点击(click),也可以长按(long click),按多久都行,下面例子展示点击和长按各自的效果。

poco('bg_mission').click()
poco('bg_mission').click('center')
poco('bg_mission').click([0.5, 0.5])    # equivalent to center
poco('bg_mission').focus([0.5, 0.5]).click()  # equivalent to above expression

下面例子展示如何使用swipe

joystick = poco('movetouch_panel').child('point_img')
joystick.swipe('up')
joystick.swipe([0.2, -0.2])  # swipe sqrt(0.08) unit distance at 45 degree angle up-and-right
joystick.swipe([0.2, -0.2], duration=0.5)

循环点击某个父节点下的所有子节点

for Off in poco("AchievementTrophyParent").offspring("off"):
    Off.click()

等待某个元素出现,不出现则报错,默认120s

try:
  poco("BtnStart").wait_for_appearance(timeout=120)
except:
  print("none")

等待某个元素消失,不消失,则报错,默认120s

try:
  poco("BtnStart").wait_for_disappearance(timeout=120)
except:
  print("none")

判断某个元素是否出现在当前屏幕上

if poco("Return").exists():

对于以列表形式出现的控件操作

for item in range(len(poco("TeamDlg(Clone)").offspring("Dungeons").child("Panel").child())):
  item1 = "item" + str(item)
  poco("TeamDlg(Clone)").offspring("Dungeons").offspring(item1).click()

更改UI元素的属性值。并非所有属性都可以转换为文本。如果改变了不可变属性或不存在的属性,将引发InvalidOperationException异常

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值