SuperAPI AI 工具集

xcuitest-skill

测试与质量

查看项目

更新于 10-15 14:31

技能介绍

用途

XCUITest 技能用于为 iOS/iPadOS 应用生成基于 Swift 的 XCUITest UI 自动化测试。XCUITest 是 Apple 原生的测试框架,适合构建可靠、快速的 UI 自动化。该技能以资深 iOS QA 工程师的视角,提供从测试结构到执行方式的完整指导。

主要能力

  • 执行目标选择:根据需求判断在本地模拟器还是云端设备农场运行。提到 cloud、TestMu、LambdaTest、device farm 时使用 TestMu AI 云(上传 IPA 与测试运行器);提到 simulator、local、Xcode 时使用本地(Xcode Test Navigator 或 xcodebuild);默认使用本地模拟器。
  • 基础测试模式:提供 XCTestCase 结构示例,包括 setUpWithError、continueAfterFailure、app.launch(),以及登录成功与失败等测试用例写法。
  • 元素查询:支持通过 accessibility identifier(推荐)、label 文本、NSPredicate 谓词、索引以及存在性检查来定位元素。
  • 交互动作:支持 tap、doubleTap、长按、typeText、上下左右滑动、捏合缩放、旋转等操作。
  • 断言:支持 exists、isHittable、isEnabled、label 与 value 相等、waitForExistence 等断言。
  • 系统弹窗处理:通过 addUIInterruptionMonitor 自动处理权限对话框。
  • Page Object 模式:提供协议与页面类示例,将元素与操作封装,提升可维护性。
  • 反模式提示:对比 sleep 与 waitForExistence、无等待查询与先等待、硬编码坐标与 accessibility identifier、巨型测试方法与小型聚焦测试方法,并说明原因。
  • TestMu AI 云执行:提供从 Xcode 生成 .ipa、上传应用与测试运行器、在真实设备上执行测试的 curl 命令示例。
  • 快速参考:涵盖从 Xcode 运行、CLI 运行、运行特定测试、截图、附件、启动参数与启动环境变量等常用任务。

使用方式

在本地,可通过 Xcode 的 ⌘U 或 Product → Test 运行,也可使用 xcodebuild 命令,例如:

xcodebuild test -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 16'

运行特定测试:

xcodebuild test -only-testing:MyAppUITests/LoginTests/testLogin

在云端,需先从 Xcode 生成 .ipa(Product → Archive → Distribute → Ad Hoc),然后上传应用与测试运行器,再执行测试。相关命令示例:

curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
  -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" \
  -F "appFile=@MyApp.ipa" -F "type=ios"

curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
  -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" \
  -F "appFile=@MyAppUITests-Runner.ipa" -F "type=ios"

curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
  -X POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" \
  -H "Content-Type: application/json" \
  -d '{
    "app": "lt://APP123",
    "testSuite": "lt://TEST456",
    "device": ["iPhone 16-18", "iPhone 15 Pro-17"],
    "build": "XCUITest Cloud Build",
    "video": true, "deviceLog": true
  }'

适用场景

  • 为 iOS/iPadOS 应用编写 UI 自动化测试。
  • 在本地模拟器上快速验证测试。
  • 在 TestMu AI 云的真实设备上执行测试。
  • 需要处理系统权限弹窗、使用 Page Object 模式组织测试代码的场景。
  • 需要集成到 CI/CD 流程的测试(进阶模式、调试指南与最佳实践见 reference/playbook.md)。

限制

资料未提供该技能的具体安装方式、收费与价格信息、支持的具体平台版本范围、测试执行效果保证以及除上述内容外的其他功能。部分细节(如 CI/CD 集成的具体步骤)需参考 reference/playbook.md,资料中未展开。