# 真机实验室测试页版本

> 真机实验室怎样给测试页定版本：v1 包含哪些文件、文件哈希怎么算，以及锁定文件里记下的改动规则。

import LabProvenance from '@components/lab/LabProvenance.astro';

测试页（harness）是真机测试时在设备上加载的一组页面，包括实验室应用、探测页和几个可单独安装的小应用。各版本的锁定文件列出文件名和 SHA-256 哈希。用它核对服务器之后下发的字节，就能知道是否仍是冻结版本。[实验室应用页面](https://openpwa.net/lab/device-tests/)带有 `<meta name="robots" content="noindex, nofollow">`。

## v1 测试页

[v1 测试页](/zh/lab/harness/v1/)就是 [/lab/device-tests/](/lab/device-tests/) 下的那一组文件。它的锁定文件 [lock.json](https://openpwa.net/lab/harness/v1/lock.json) 列出 52 个文件，[SHA256SUMS.txt](https://openpwa.net/lab/harness/v1/SHA256SUMS.txt) 按 `openpwa.net` 实际下发的字节，每个文件给出一行 SHA-256。2026-10-20 的 iOS 18.6.2 基线测试用到了这些页面，也用到了 demo 页面。[研究报告](https://openpwa.net/research/2026-10-ios18-home-screen-web-apps/data/REPORT.md)记录了每项测试用到哪些页面、部分文件的哈希，并注明 `lab.js` 在测试期间改过一次。

实验室应用的 [manifest](https://openpwa.net/lab/device-tests/manifest.webmanifest) 把 `id`、`start_url` 和 `scope` 都设为 `/lab/device-tests/`，`lab.js` 也以同一个作用域注册 Service Worker `sw.js`。测试用 iPhone 上的主屏应用就是从这些网址安装的。

## 改动规则

`lock.json` 将 v1 冻结在原路径，禁止搬迁和重定向。只有修复隐私或安全缺陷时才能改文件，并须附上带日期的勘误。它的 `errata` 列表是空的。

测试前后核对哈希的做法见[在 iPhone 与 iPad 上运行真机实验室测试](/zh/lab/guides/iphone-ipad/)。

<LabProvenance locale="zh" />