时间限制
App Center测试对测试套件和单个测试强制实施每个设备的时间限制。 App Center测试停止超出限制的测试或测试套件,以防止测试尝试永久运行。
备注
这些限制适用于安装应用和运行测试所花费的时间。 设备排队等待运行或处理已完成的测试结果的时间不会计入这些限制。
App Center测试针对每个设备单独对测试套件和单个测试强制实施时间限制。 超过一台设备的限制不会影响其他设备。
测试套件时间限制
- 免费许可证:1.5 小时
- 付费许可证:6 小时
如果使用付费测试计划,则测试套件App Center小时。 使用免费计划时,限制为一个半小时。 当测试套件达到时间限制时,App Center测试会停止测试套件,并且不会为该设备生成测试报告。
单个测试时间限制
单个测试的时间限制为 30 分钟。
当测试达到时间限制时,App Center测试将停止测试,并且向测试日志写入一条消息。 App Center测试仍生成并显示测试报表。 该测试报告和相关日志文件有助于了解测试为何超出时间限制。
对于已用时测试, 测试 日志包含最后一个执行步骤的错误:
test exceeded 1800000ms
疑难解答
使用 测试报告 和日志文件来帮助确定测试套件或测试套件超时的原因。有关详细信息,请参阅 测试报告。
当单个测试超过时间限制时,如果没有其他问题,App Center 测试仍将生成并显示测试报告。
如果测试套件超出时间限制,则 App Center 测试不会为超时设备生成测试报告。 如果所有设备都超出了测试套件时间限制,则 App Center 测试不会生成测试报告,而是显示:
Test execution timed out.
排查各个测试的超时问题
由于某个 bug (如永远无法完成的循环),测试可能会超出此限制。 仅在某些设备上或在某些情况下才会发生超时。 添加防御测试代码会处理这种情况,并防止测试超时。
这可能是因为测试中的长时间运行的步骤太多。 此处的解决方案是将测试分解为多个更小、更快的测试。
超时测试套件疑难解答
此错误可能由测试代码的问题或测试套件太大而无法在时间限制内完成引起。 如果没有测试报表,则很难确定原因。 尝试对每个测试套件运行较少的测试。 目标是获取测试报表和关联的日志文件,以便可以看到发生了什么情况。
如果测试套件成功完成(有时但并不总是),请使用已完成测试的 测试报告 来检查测试时间。 如果接近超时限制,则执行时间的小差异可能会使完成或超时。同样,在测试套件中运行较少的测试可帮助一致地获取测试结果。
备注
由于网络延迟或屏幕截图需要更长时间,在 App Center 测试中执行测试可能需要额外的时间。 仿真器和模拟器对于时间比较不准确,因为 App Center 测试只使用实际设备。 测试 报告中的持续时间 是测试中所有设备的组合持续时间,甚至是未过时的设备。
如果不知道哪些设备达到测试套件时间限制,可以联系App Center支持部门。 包含指向测试运行的链接,他们可以查看运行的内部数据。
获取帮助
可以在门户中联系App Center支持人员。 在屏幕右上角,选择"帮助 (?) 菜单,然后选择"联系支持人员"。 我们的专业支持团队将回答你的问题。
如果需要有关测试运行的帮助,请导航到相关测试运行,然后从浏览器复制 URL 并将其粘贴到支持对话中。 测试运行 URL 类似于 https://appcenter.ms/orgs/OrgName/apps/App-Name/test/runs/77a1c67e-2cfb-4bbd-a75a-eb2b4fd0a747 。