# 真机实验室测试路线图

> 真机实验室计划实测的行为主题与重跑，注明适用平台、每一项的状态以及列入计划的原因。

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

真机实验室计划中的测试各自注明问题、平台、测试原因和先后顺序，尚未发布结果。已完成的测量见[行为页](/zh/lab/behaviour/)。

## 顺序与状态

`scheduled` 项目会注明安排在哪次测试。四种状态区分可开测、缺少设备或根作用域 worker，以及已安排运行的项目。

| 状态 | 含义 |
|---|---|
| `planned` | 测试已设计好，用实验室现有的硬件就能跑 |
| `needs-device` | 需要实验室没有的设备，比如 Android 手机 |
| `needs-origin` | 测试需要一个作用域在站点根路径的 Service Worker，v1 测试页没有注册这样的 worker |
| `scheduled <run>` | 已排进某一次指定的测试 |

## 计划中的项目

<LabRoadmap locale="zh" />

根作用域 worker 这一项标为 `needs-origin`，因为 v1 测试页没有根作用域的 worker。v1 测试页注册 Service Worker 时把作用域设为 `/lab/device-tests/`（见 [lab.js](https://openpwa.net/lab/device-tests/lab.js) 中的 `registerLabWorker`）。WebKit 介绍 [Declarative Web Push](https://webkit.org/blog/16535/meet-declarative-web-push/)（webkit.org）的文章说，作用域在站点根路径的 Service Worker 与 window 对象共享同一个推送订阅；要测这种情况，就得在根路径注册 worker。

<LabProvenance locale="zh" />