testLab namespace

函数

函数 说明
testMatrix() 处理与 Test Lab 测试矩阵相关的事件。

说明
ClientInfo 对测试进行调用的客户端的相关信息。
ResultStorage 存储测试结果的位置。
TestMatrix TestMatrix 可捕获有关测试运行的详细信息。
TestMatrixBuilder 用于创建 Cloud Functions for Test Lab 测试矩阵事件的构建器。

类型别名

类型别名 说明
InvalidMatrixDetails 矩阵被视为 INVALID 的详细原因。
OutputSummary(结果摘要) 已完成的 TestMatrix 的结果摘要。
TestState TestMatrix 的状态(即进度)。

testLab.testMatrix()

处理与 Test Lab 测试矩阵相关的事件。

签名

export declare function testMatrix(): TestMatrixBuilder;

返回

TestMatrixBuilder

testLab.InvalidMatrixDetails

矩阵被视为 INVALID 的详细原因。

可能的值:

  • DETAILS_UNAVAILABLE:矩阵为 INVALID,但没有更多详细信息。

  • MALFORMED_APK:无法解析输入应用 APK。

  • MALFORMED_TEST_APK:无法解析输入测试 APK。

  • NO_MANIFEST:找不到 AndroidManifest.xml。

  • NO_PACKAGE_NAME:APK 清单未声明软件包名称。

  • INVALID_PACKAGE_NAME:APK 应用 ID 无效。

  • TEST_SAME_AS_APP:测试软件包和应用软件包相同。

  • NO_INSTRUMENTATION:测试 APK 未声明插桩。

  • NO_SIGNATURE:输入应用 APK 没有签名。

  • INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE:用户指定的测试运行程序类或在测试 APK 的清单文件中指定的测试运行程序类与 Android Test Orchestrator 不兼容。

  • NO_TEST_RUNNER_CLASS:测试 APK 不包含用户或在清单文件中指定的测试运行程序类。

  • NO_LAUNCHER_ACTIVITY:找不到主启动器 activity。

  • FORBIDDEN_PERMISSIONS:应用声明了一项或多项不允许使用的权限。

  • INVALID_ROBO_DIRECTIVES:提供的 robo_directives 存在冲突。

  • INVALID_RESOURCE_NAME:提供的 robo 指令中至少有一个无效的资源名称。

  • INVALID_DIRECTIVE_ACTION:robo 指令中的操作定义无效,例如点击或忽略操作包含一个输入文本字段。

  • TEST_LOOP_INTENT_FILTER_NOT_FOUND:没有测试循环 intent 过滤器,或者提供的过滤器格式不正确。

  • SCENARIO_LABEL_NOT_DECLARED:请求包含未在清单中声明的场景标签。

  • SCENARIO_LABEL_MALFORMED:解析标签值时出错。

  • SCENARIO_NOT_DECLARED:请求包含未在清单中声明的场景编号。

  • DEVICE_ADMIN_RECEIVER:不允许使用设备管理员应用。

  • MALFORMED_XC_TEST_ZIP:压缩的 XCTest 格式有误。此 zip 文件中未包含单个 .xctestrun 文件和 DerivedData/Build/Products 目录中的内容。

  • BUILT_FOR_IOS_SIMULATOR:压缩后的 XCTest 是针对 iOS 模拟器(而不是实体设备)构建的。

  • NO_TESTS_IN_XC_TEST_ZIP:.xctestrun 文件未指定任何测试目标。

  • USE_DESTINATION_ARTIFACTS:.xctestrun 文件中定义的一个或多个测试目标指定了“UseDestinationArtifacts”,但这是不允许的。

  • TEST_NOT_APP_HOSTED:在实体设备上运行的 XC 测试必须具有“IsAppHostedTestBundle”==“true”每个命令

  • PLIST_CANNOT_BE_PARSED:无法解析 XCTest zip 文件中的 Info.plist 文件。

  • NO_CODE_APK:APK 不包含任何代码。

  • INVALID_INPUT_APK:提供的输入 APK 路径格式不正确,APK 文件不存在,或者用户无权访问 APK 文件。

  • INVALID_APK_PREVIEW_SDK:APK 是为不受支持的预览版 SDK 构建的。

签名

export type InvalidMatrixDetails = "DETAILS_UNAVAILABLE" | "MALFORMED_APK" | "MALFORMED_TEST_APK" | "NO_MANIFEST" | "NO_PACKAGE_NAME" | "INVALID_PACKAGE_NAME" | "TEST_SAME_AS_APP" | "NO_INSTRUMENTATION" | "NO_SIGNATURE" | "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE" | "NO_TEST_RUNNER_CLASS" | "NO_LAUNCHER_ACTIVITY" | "FORBIDDEN_PERMISSIONS" | "INVALID_ROBO_DIRECTIVES" | "INVALID_RESOURCE_NAME" | "INVALID_DIRECTIVE_ACTION" | "TEST_LOOP_INTENT_FILTER_NOT_FOUND" | "SCENARIO_LABEL_NOT_DECLARED" | "SCENARIO_LABEL_MALFORMED" | "SCENARIO_NOT_DECLARED" | "DEVICE_ADMIN_RECEIVER" | "MALFORMED_XC_TEST_ZIP" | "BUILT_FOR_IOS_SIMULATOR" | "NO_TESTS_IN_XC_TEST_ZIP" | "USE_DESTINATION_ARTIFACTS" | "TEST_NOT_APP_HOSTED" | "PLIST_CANNOT_BE_PARSED" | "NO_CODE_APK" | "INVALID_INPUT_APK" | "INVALID_APK_PREVIEW_SDK";

testLab.OutcomeSummary

已完成的 TestMatrix 的结果摘要。

可能的值:

  • SUCCESS:测试矩阵运行成功,例如:- 所有测试用例均通过。- Robo 未检测到被测应用发生崩溃。

  • FAILURE:测试运行失败,例如:- 一个或多个测试用例失败。- 测试超时。- 被测应用崩溃。

  • INCONCLUSIVE:发生了意外情况。测试应仍被视为不成功,但这可能是暂时性问题,重新运行测试可能会成功。

  • SKIPPED:已跳过所有测试,例如:- 所有设备配置均不兼容。

签名

export type OutcomeSummary = "SUCCESS" | "FAILURE" | "INCONCLUSIVE" | "SKIPPED";

testLab.TestState

TestMatrix 的状态(即进度)。

可能的值:

  • VALIDATING:正在验证矩阵。

  • PENDING:矩阵正在等待资源可用。

  • FINISHED:矩阵已正常终止。这意味着矩阵层级的处理已正常完成,但个别执行可能会处于 ERROR 状态。

  • ERROR:矩阵已停止,因为它遇到基础架构故障。

  • INVALID:矩阵未运行,因为提供的输入无效。例如:输入文件不符合预期类型,或格式错误/已损坏。

签名

export type TestState = "VALIDATING" | "PENDING" | "FINISHED" | "ERROR" | "INVALID";