使用Airtest Poco实现游戏客户端UI自动化(Python)

安装 AirtestIDE,了解POCO

下载地址: Airtest IDE
使用文档:AirtestProject官方文档
poco介绍:Poco介绍

连接设备,打开游戏客户端(Unity为例)

在操作前,请确保需要测试的游戏客户端已经集成了poco-sdk,如果没有集成是获取不到UI元素的。

Poco-SDK接入指南: 官方文档

python连接设备脚本代码如下:

# 引入需要的包
from airtest.core.api import *
from airtest.core.android.android import Android
from poco.drivers.unity3d import UnityPoco

# 自动获取手机序列号
try:
    deviceId = device().uuid
except:
    deviceId = Android().uuid

# 连接设备
auto_setup(__file__, logdir=False, devices=["Android://127.0.0.1:5037/%s" % deviceId])

# 初始化UnityPoco
poco = UnityPoco()
一些poco操作方法的封装
from poco.exceptions import PocoNoSuchNodeException, PocoTargetTimeout

# 1.查找元素
def try_find(name=None, **kw):
	try:
		self.poco(name=name, **kw).wait_for_appearance(timeout=10)
		return True
	except PocoTargetTimeout:
		return False    
# 1.使用
if try_find(name="ui_test", text="测试"):
	pass

# 2.点击元素
def try_touch(name=None, **kw):
	try:
		self.poco(name=name, **kw).click([0.5, 0.5])
	except PocoNoSuchNodeException:
		raise PocoNoSuchNodeException

# 3.使用
if try_find(name="ui_test", text="测试"):
	try_touch(name="ui_test")

# 4.滑动元素
def swipe(name=None, pos=None):
	try:
		if not isinstance(pos, list):
			raise TypeError("The input must be a list")
		self.poco(name=name).focus([0.5, 0.5]).swipe(pos)
	except PocoNoSuchNodeException:
		raise PocoNoSuchNodeException

# 4.使用
swipe(name="ui_test", [0.2, -0.2])

# 5.获取元素text内容
def get_text(name=None):
	try:
		text = self.poco(name=name).get_text()
		return text
	except PocoNoSuchNodeException:
        raise PocoNoSuchNodeException

# 5.使用
get_text(name="ui_test")

#6.设置text内容
def set_text(name=None, text=None):
	try:
		self.poco(name=name).set_text(text)
	except PocoNoSuchNodeException:
		raise PocoNoSuchNodeException

#6.使用
set_text(name="ui_test", text="test")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吹落的树叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值