写点什么

软件测试 / 测试开发丨 iOS 自动化真机测试验证环境过程中常见问题

作者:测试人
  • 2023-03-22
    北京
  • 本文字数:1662 字

    阅读完需:约 5 分钟

获取更多相关知识

本章节主要讲解 iOS 自动化真机配置以及在 iOS 真机执行自动化时常见问题与解决方法。

真机使用的 Capability

与模拟器不同,真机测试需要如下的 Capability

方式一:设置 App 路径,启动 App(自动安装 App)

{  "app": "/Users/seveniruby/Library/Developer/Xcode/DerivedData/UICatalog-ftyzdbgapjmxxobezrnrxsshpdqh/Build/Products/Debug-iphoneos/UICatalog.app",  "automationName": "XCUITest",  "platformName": "ios",  "xcodeOrgId": "xxxxxx",  "xcodeSigningId": "iPhone Developer",  "udid": "9df22446af15919c494c85b4c1c8b00eaa3a5bd0"}
复制代码

方式二:根据 App 包名启动 App

{  "platformName": "ios",  "bundleId": "com.example.apple-samplecode.UICatalog",  "automationName": "XCUITest",  "deviceName": "iPhone",  "udid": "auto",  "xcodeOrgId": "xxxxx",  "xcodeSigningId": "iPhone Developer"}
复制代码
  • app: Xcode 选择真机编译后的 app 位置

  • bundleId: 每个 App 的标识,相当于 Android App 的 appPackage

  • xcodeOrgId: Team ID,获取方法详见https://ceshiren.com/t/topic/11539

  • udid:auto 会根据 deviceName 返回的参数自动获取 udid

注意:编译成功后需要在手机里信任证书

使用 Appium Desktop 验证环境

以上步骤完成后,出现下图表示真机环境配置成功



常见问题

问题一

Failed to register bundle identifier

  • 原因:bundle identifier 有重复

  • 解决方法:修改为唯一的即可

问题二

执行 instruments -s devices 命令报错:Hogwarts $ instruments -s devices xcode-select: error: tool 'instruments' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  • 原因:安装了 Xcode,但是不在系统默认的目录下。

  • 解决方法:需要把 Xcode 的路径修改为你安装的位置,可以在终端里面用命令修改,执行命令 sudo xcode-select --switch /Applications/Xcode.app

问题三

运行脚本过程中,手动停止脚本时,偶尔会报错 Showing All Messages WebDriverAgentRunner-Runner.app (3413) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying error: The test runner exited with code 74 before checking in.))

  • 解决方法:重启手机或者拔掉 IOS 数据线,重新连接电脑

问题四

note: Using new build systemnote: Building targets in parallelnote: Planning buildnote: Constructing build descriptionerror: No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "L62JHCGMQW" with a private key was found. (in target 'WebDriverAgentLib' from project 'WebDriverAgent')error: No profiles for 'com.facebook.WebDriverAgentRunner.xctrunner' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.facebook.WebDriverAgentRunner.xctrunner'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'WebDriverAgentRunner' from project 'WebDriverAgent')
复制代码
  • 原因:更换手机后,未重新 build;

  • 解决方法:更换手机后重新 build WDA,然后点击 test 安装 wda

问题五

Assertions: System: Early unexpected exit, operation never finished bootstrapping - no restart will beattempted. (Underlying Error: The test runner exited with code 74 before checking in. If you believe thiserror represents a bug, please attach the result bundle at/Users/dzkair/Library/Developer/Xcode/DerivedData/WebDriverAgent-alwvnomvwrdtzoaxbbkniqrpcdpp/Logs/Test/Test-WebDriverAgentRunner-2020.11.26_10-47-38-+0800.xcresult)
复制代码
  • 解决方法:重新插拔手机即可

发布于: 刚刚阅读数: 3
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发丨iOS自动化真机测试验证环境过程中常见问题_软件测试_测试人_InfoQ写作社区