Airtest之使用Poco测试iOS原生应用

以下基于
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: 暂未支持
原文地址:https://www.cnblogs.com/songzhenhua/p/15057132.html