• 使用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的兼容性会好很多。(但响应速度可能很慢)

    3. 常见问题答疑

    1)AirtestIDE是否支持M1

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

    快速提单页面:https://airtest.netease.com/issue_create

    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网络波动或不稳定
    • ......

    同学们可以到这里查看:https://github.com/AirtestProject/iOS-Tagent/blob/master/Introduction/question_zh.md#

    8)附:iOS部署教程

    4. 小结

    关于对iOS进行自动化测试的常见问题,今天就整理到这里啦,如果同学们还有其它关于iOS的问题未解决,可以到这里提单给我们的开发者:https://airtest.netease.com/issue_create


    Airtest官网https://airtest.netease.com/
    Airtest教程官网https://airtest.doc.io.netease.com/
    搭建企业私有云服务https://airlab.163.com/b2b

    官方答疑 Q 群:654700783

    呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~

  • 相关阅读:
    数据库操作类
    并查集的使用
    简单的图片识别,源代码
    Sql Server清理缓存代码
    京东商城商品价格获取方法
    【转】 SEO的含义与意义
    隐藏控制台窗口的方法
    MySQL存储过程详解
    常见电商B2C网站购物车的设计
    UML建模之业务处理模型(Business Process Model,BPM)
  • 原文地址:https://www.cnblogs.com/AirtestProject/p/15571079.html
Copyright © 2020-2023  润新知