以下基于
python3.8;airtestIDE1.2.9;airtest1.1.11;pocoui1.0.82
上期回顾:Airtest之使用Poco测试Android原生应用
首先连接设备
可以参考之前文章:airtest之使用tidevice工具轻松连接iOS
这里再简单说下步骤:
1.安装WebDriverAgent,这个详细看上面的文档
2.启动WDA
tidevice xctest -B com.mt.farm.WebDriverAgentRunner.xctrunner
3.AirtestIDE输入连接字符后连接
http+usbmux://00008020-000474210233002E
获取计算器的bundle id
手机上打开计算器,PC上输入tidevice ps
,获得计算器的bundle id:com.apple.calculator
编写1+1=2代码:
# -*- encoding=utf8 -*-
from airtest.core.api import *
from poco.drivers.ios import iosPoco
# 连接设备、初始化日志路径
auto_setup(__file__)
# 启动计算器
start_app("com.apple.calculator")
# 初始化ios poco
poco = iosPoco()
# 依次点1+1=,这块代码可以使用IDE左下的录制功能
poco("1").click()
poco("加").click()
poco("1").click()
poco("等于").click()
# 获取结果控件的文本并断言,可以使用IDE左下的锁定功能,并找到结果控件
r = poco("结果").attr("value") # 由于结果控件没有text属性,是value属性,所以使用attr()
assert_equal("2", r, "结果=2")
录制和查找控件不会用可以看之前文章AirtestIDE基本功能(一)
写完后运行,正常执行完毕。点击生成报告
注意:iOS设备与Android设备有很大的不同,以下通用的 Airtest 的 API 在iOS上都是支持的:
-
start_app: OK
-
stop_app: OK
-
snapshot: OK
-
home: OK
-
touch: OK
-
swipe: OK
-
text: OK
-
wait: OK
-
exists: OK
-
find_all: OK
-
assert_exists: OK
-
assert_not_exists: OK
但是以下API是不支持的:
- wake: 暂未支持 (考虑用home方法替代)
- keyevent: 只支持home 事件
- clear_app: 暂未支持
- install: 暂未支持
- uninstall: 暂未支持