使用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

呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章