Airtest支持iOS自动化测试,在Mac上为iOS手机部署iOS-Tagent之后,就可以使用AirtestIDE连接设备,像连接安卓设备一样,实时投影、控制手机。iOS测试不仅限于真机测试,iOS模拟器也可以进行。Mac端上部署完成后还可以提供给同一局域网内的windows上远程连接使用。同时支持airtest图像识别和poco UI检索。

功能支持

  • 支持AirtestIDE连接,实时控制 iPhone
  • 支持基本操作如启动app、点击、滑动、输入、截图等等操作
  • 支持控件检索技术Poco和图像识别
  • 自动化脚本录制、一键回放、报告查看等基本功能
  • 支持真机或者模拟器

安装部署

版本需求:

  • Mac Xcode ≥ 9.3
  • iPhone iOS ≥ 9.3
  • 在 9.3≤iOS≤10时,由于基于旧版xcode SDK,建议使用Xcode 版本≤10.1来启动iOS-Tagent,否则会出现手机截屏不全的问题。

部署流程

  1. 在Mac下载 iOS-Tagent ,使用 Xcode 启动 Test, 具体启动过程可参考 https://github.com/AirtestProject/iOS-Tagent 。当Xcode的log窗口输出下图信息的时候,就意味着部署成功了。

2.启动代理,在命令行下执行iproxy 8100 8100运行代理后,可以在浏览器打开 http://127.0.0.1:8100/inspector ,查看iOS设备是否能成功连接。

3.在 AirtestIDE 的设备窗口,输入地址:http://127.0.0.1:8100 或 http://x.x.x.x(MAC IP):8100

点击Connect按钮即可连接iOS设备,如图:

支持Xcode中的iOS模拟器

Xcode中的iOS Simulator模拟器部署过程和真机一样,但是可以省略步骤2,不需要另外执行proxy。

当Xcode的log窗口看到下面内容的时候,就可以直接用地址 http://x.x.x.x:8100 进行连接了,也就是log里显示出来的ServerURLHere中的地址:

支持Windows连接

我们同样能够在Windows上连接一个远程的iOS设备,但是依然需要有Mac电脑与Xcode环境。首先按照上文的部署教程在Mac上启动iOS-Tagent之后,不再使用iproxy启动代理,而是改用 wdaproxy。因为iproxy只支持本机端口的映射,而wdaproxy能够支持远程IP映射,这意味着可以在第二部PC上,通过访问ip的方式访问到Mac电脑上连接的iOS设备。

开始测试

iOS 的测试和其他设备差不多,支持图像识别和UI检索,下面简单介绍一个iOS测试例子:

  1. 连接设备
  2. 点击home键
  3. 截屏
  4. 执行滑动操作
  5. 使用poco点击app Safari
  6. 使用poco点击浏览器的搜索框,获取焦点
  7. 在搜索框输入“airtest”
  8. 在搜索页面往下滑动
  9. 判断是否存在airtest官网地址
from airtest.core.api import *
from poco.drivers.ios import iosPoco
poco = iosPoco()auto_setup(__file__)
connect_device("ios:///x.x.x.x:8100")
keyevent("HOME")
snapshot()
swipe(Template(r"tpl1561985939879.png", record_pos=(0.356, -0.174), resolution=(750.0, 1334.0)), vector=[-0.685, 0.0481])poco("Safari").click()
poco("URL").click()
text("airtest")poco("People also search for").swipe([-0.0541, -0.4206])
exists(Template(r"tpl1560844284543.png", record_pos=(-0.292, 0.688), resolution=(750, 1334)))

常见问题

  1. 如何在模拟器安装应用

    tips: 不可以把真机 app 包安装在iOS模拟器上,真机的app是基于arm的,而模拟器是运行在 X86 指令集上的,强行安装会导致闪退的问题。

    • 把xx.ipa 改成xx.zip,解压得到xx.app
    • 打开模拟器, 在终端运行 xcrun simctl install booted xx.app
  2. 如何进行iOS多机测试 
    目前暂未开放iOS多机测试功能,敬请期待

  3. Api 支持状况 
    请注意,iOS设备与Android设备有很大的不同,以下通用的 Airtest 的 API 在iOS上都是支持的:

    但是以下API是不支持的:

    • 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
    • wake: 暂未支持 (考虑用home方法替代)
    • keyevent: 只支持home 事件
    • clear_app: 暂未支持
    • install: 暂未支持
    • uninstall: 暂未支持

如何在苹果手机上进行自动化测试!!!!!可以尝试配置一下相关推荐

  1. eclipse和idea代码通用吗_python能在苹果手机上运行吗

    Pythonista是在iPad和iPhone上编写Python脚本的一个完整的开发环境.它包含了许多示例:绘画游戏动画.图像处理.自定义用户界面和自动化脚本. 除了强大的标准库之外,Pythonis ...

  2. 苹果手机上运行python_【后端开发】python能在苹果手机上运行吗

    Pythonista是在iPad和iPhone上编写Python脚本的一个完整的开发环境.它包含了许多示例:绘画游戏动画.图像处理.自定义用户界面和自动化脚本. 除了强大的标准库之外,Pythonis ...

  3. android手机进行android开发,如何在Android手机上进行自动化测试(上)

    版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本节教程,你将了解到以下内容: 如何在脚本代码中.运行脚本时指定手机 如何填写--device Android:/// ...

  4. python能在苹果手机上运行吗

    Pythonista是在iPad和iPhone上编写Python脚本的一个完整的开发环境.它包含了许多示例:绘画游戏动画.图像处理.自定义用户界面和自动化脚本. 除了强大的标准库之外,Pythonis ...

  5. 电脑桌面便签小工具_iPhone12系列售价曝光,苹果手机上有什么好用的便签记事本软件推荐吗...

    近日,有人曝光了苹果 iPhone 12系列的售价.据悉,iPhone12全系机型取消了64G版本,而改为128G起步:售价,则从从699美元(约4835元)起,到最高1399美元(约9678元).很 ...

  6. android vue.js点击反应慢,解决vue 界面在苹果手机上滑动点击事件等卡顿问题

    用vue编写项目接近尾声,需要集成到移动端中,在webstorm上界面,运行效果都很完美,但是在苹果手机上各种问题都出现了,原生项目一向滑动流畅,事件响应迅速,可是苹果手机打开这个项目有两个问题, ( ...

  7. 苹果4s怎么越狱_只有老外有空去玩这些,在苹果手机上刷入了安卓系统

    iPhone 的历史有多久,越狱的历史就有多久.2007年初代 iPhone 问世,没过几天就出现了越狱,越狱的灵魂之一.开源软件商店 Cydia 甚至比App Store出现的时间还要早 5 个月. ...

  8. 监测 Linux 上失败的登录尝试方法分享

    在Linux服务器上重复的失败登录尝试可能表明有人企图闯入帐户,或者仅仅意味着有人忘了密码或输错密码.本文介绍了如何检查失败的登录尝试并检查系统的设置,查看何时锁住帐户以处理问题. 您要了解的第一件事 ...

  9. 微信小程序时间格式在IOS苹果手机上不识别

    场景:微信小程序,后台给前端返回了一个 "2022-12-29 16:10:20"  这样的时间格式,在安卓手机上可以正常显示,但是在苹果手机上不识别 原因:         是因 ...

  10. iphone屏幕上的圆圈怎么设置_苹果手机上的小圆圈在哪设置【方法介绍】

    众多的手机品牌中, 苹果 手机是当之无愧的领导者,苹果在设计和功能上确实都有过人之处,就好比屏幕下方中央的圆形按钮,也就是人们常说的home键,它非常提升整个手机的质感,但是同时存在着缺陷,就是经常按 ...

最新文章

  1. 出现PNG文件错误的解决方案AAPT err(Facade for 1773557322): libpng error: Not a PNG file
  2. 揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活
  3. Known Notation 39届亚洲赛牡丹江站K题
  4. asp.net 设置分页
  5. HashMap源码浅析
  6. Auto.js Pro如何连接VS Code插件
  7. photoshop是用什么编程语言开发的_为什么中国开发不出流行的操作系统和编程语言?...
  8. oracle 如果存在不创建表,oracle – 如果表不存在则创建表,并在创建后输入一行...
  9. 树莓派gparted启动失败解决方法
  10. Ubuntu16.04 Oracle JDK8和Open JDK8的安装与配置
  11. 大白话Pyramid Vision Transformer
  12. ARMLINUX学习笔记(1)
  13. python技术路线_django开发网站的技术路线?
  14. 容齐的身世_浅析容齐
  15. linux检查apr,Linux上安装APR
  16. python利用opencv去除图片logo_用python+OpenCV去除图片水印
  17. python误差修正模型_误差修正模型ECM_eviews误差修正模型
  18. unable to resolve module
  19. nokia 诺基亚nth主题说明
  20. oracle执行存储过程06576,oracle的存储过程语法

热门文章

  1. 用C语言求解一元二次方程的简单方法
  2. Flash 原版官网下载
  3. 网络性能衡量的指标有哪些?
  4. 图像质量评价之衡量标准
  5. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用
  6. python安装 文件或目录损坏_文件或目录损坏且无法读取怎么办?
  7. ieee期刊的科技写作思路曹文平_如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?...
  8. 程序员可接私活的10个平台和一些建议,别掉坑里!
  9. linux 中hadoop相关命令学习
  10. 鹏业安装算量软件8.0.0.76升级内容