使用Airtest对iOS进行自动化的常见问题答疑

简介: 使用Airtest对iOS进行自动化的常见问题答疑

网络异常,图片无法展示
|


1. 前言



同学们在对iOS真机进行自动化测试的时候,经常提出一些连接问题、版本支持问题等,这里我们整理出一些iOS常见的问题答疑,希望能给大家带来一些排查思路。


2. 版本支持说明



要实现对iOS设备进行自动化测试,我们需要在iOS真机上起一个 WebDriverAgent 服务,可以是Airtest的 iOS-tagent,也可以是Appium的 WebDriverAgent


iOS-tagent 的支持情况如下:


iOS-Tagent 最低支持 最高支持
iOS系统 9.3 13.5
xcode版本 9.9 12.1


特别是对于低版本的iOS,我们更建议使用Airtest的 iOS-tagent


如果有高版本iOS测试需求的同学,我们更建议大家使用Appium的 WebDriverAgent ,对高版本iOS的兼容性会好很多。(但iOS响应速度可能很慢)


3. 常见问题答疑



1)AirtestIDE是否支持M1


支持的;目前我们并未发现AirtestIDE在M1上有什么问题,如有异常,同学们可以通过快速提单渠道,告知我们具体的报错情况:


快速提单页面:airtest.netease.com/issue_creat…


2)是否能脱离AirtestIDE对iOS进行自动化测试


可以脱离AirtestIDE对iOS进行自动化测试;同学们可以使用命令行或者其他编辑器如pycharm等运行iOS的自动化脚本。


但需要注意,脱离AirtestIDE对iOS进行自动化测试时,需自行补充连接iOS相关的命令/脚本:


# 命令行连接iOS设备
airtest run test.air --device iOS:///http://127.0.0.1:8100
# 脚本连接iOS
auto_setup(__file__,devices=["iOS:///http://127.0.0.1:8100"])
connect_device("iOS:///http://127.0.0.1:8100")
init_device(platform="IOS",uuid="http://127.0.0.1:8100")
复制代码


3)iOS Poco的初始化问题


iOS Poco的初始化,必须放在iOS设备连接脚本之后,否则运行脚本是会出现如下提示:


“please call connect_device to connect an ios device first”
复制代码


正确的脚本顺序可以参照示例:


# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
from airtest.report.report import simple_report,LogToHtml
auto_setup(__file__,devices=["iOS:///http://127.0.0.1:8100"])
sleep(2.0)
from poco.drivers.ios import iosPoco
poco = iosPoco()
复制代码


4)是否能脱离Mac对iOS进行自动化测试


可以;在iOS设备上成功部署好 iOS-tagent 或是 WebDriverAgent 之后,我们即可利用开源的工具 tidevice 脱离Mac测试iOS设备。


使用 tidevice 工具连接iOS设备的教程,可以参考我们的往期推文:脱离Mac搞iOS自动化,tidevice工具教你轻松实现!


5)端口映射后查看inspector显示unknown command


高版本的iOS已经不支持查看inspector的命令了,所以同学们可能会遇到如下情况:



网络异常,图片无法展示
|


此时无需惊慌,以status的情况为准即可,http://127.0.0.1:8100/status 可以访问成功并且可以看到一些json格式的手机信息,即表示启动成功;就可以到IDE去连接我们的iOS设备啦。


6)查看status成功,但在IDE点击connect无反应


也有很多同学遇到查看status是成功的,但是在IDE点击connect连接iOS设备时却没有反应,此时我们可以排查如下的问题:


  • 填入的iOS字符串是否正确
  • 是否使用了版本合适的 WebDriverAgent (低版本使用iOS-tagent,高版本使用Appium的WebDriverAgent,详细支持情况参考上文)


如以上都确定无误,我们还可以关闭当前的IDE,然后用命令行打开AirtestIDE,此时就可以看到一个log终端,在点击connect之后,可以到这个log终端里查看详细的报错信息:


# 在Mac上命令行启动AirtestIDE
$ cd /Applications/AirtestIDE.app/Contents/MacOS
$ ./AirtestIDE
复制代码


根据详细的报错信息再来进一步排查问题。


7)其余常见问题


我们的项目上还整理了一些其它的关于iOS的常见问题:


  • Xcode版本和iOS版本对应问题
  • 开发者证书的常见问题
  • Xcode failed to create provisioning profile
  • 初次安装信任设备的问题
  • 个人免费证书签注设备数超限
  • 未能载入软件包
  • 未同意苹果协议
  • Mac网络波动或不稳定
  • ......


8)附:iOS部署教程



4. 小结



关于对iOS进行自动化测试的常见问题,今天就整理到这里啦。

相关文章
|
6月前
|
移动开发 安全 数据安全/隐私保护
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
|
3月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
131 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
3月前
|
测试技术 开发工具 iOS开发
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
这篇文章是iOS自动化测试方案的第三部分,介绍了在没有MacOS系统条件下,如何使用WDA(WebDriverAgent)结合Python客户端库facebook-wda和tidevice工具,在Windows系统上实现iOS应用的自动化测试,包括环境准备、问题解决和扩展应用的详细步骤。
245 1
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
|
3月前
|
测试技术 数据安全/隐私保护 iOS开发
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
iOS自动化测试方案的第四部分,涵盖了基础环境准备、iPhone虚拟机设置、MacOS虚拟机与iPhone真机的连接,以及扩展问题和代码示例,确保读者能够顺利完成环境搭建并进行iOS自动化测试。
242 0
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
|
3月前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
179 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
3月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
110 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
3月前
|
测试技术 Swift iOS开发
探索iOS自动化测试:使用Swift编写UI测试
【8月更文挑战第31天】在软件开发的海洋中,自动化测试是保证船只不偏离航线的灯塔。本文将带领读者启航,深入探索iOS应用的自动化UI测试。我们将通过Swift语言,点亮代码的灯塔,照亮测试的道路。文章不仅会展示如何搭建测试环境,还会提供实用的代码示例,让理论知识在实践中生根发芽。无论你是新手还是有经验的开发者,这篇文章都将是你技能提升之旅的宝贵指南。
|
4月前
|
测试技术 Android开发 iOS开发
IOS手机自动化一些工具的简单有哪些?
IOS手机自动化一些工具的简单有哪些?
|
6月前
|
SQL 缓存 关系型数据库
MySQL常见问题解决和自动化安装脚本
这篇内容包含了两个主要部分:解决MySQL登录问题和处理GPG密钥问题。当MySQL密码正确但无法登录时,可以通过执行SQL命令`ALTER USER`和`flush privileges`来修改和重置密码。对于MySQL安装时的GPG密钥错误,首先需要强制删除旧的MySQL仓库包,导入新的GPG公钥,然后安装MySQL服务器。如果遇到GPG检查错误,可以使用`--nogpgcheck`参数忽略检查来安装。最后,提供了一个自动化安装MySQL的脚本,用于检查旧版本、卸载残留、安装MySQL8并启动服务。
321 1
MySQL常见问题解决和自动化安装脚本
|
6月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
179 0