
在随机新闻源上测试屏幕截图工具会得出不明确的结果。页面可以在运行之间改变,广告可以调整大小,图像可以旋转,并且个性化模块可以因帐户而异。可重现的测试需要具有已知功能和明确的预期端点的受控页面。
Screenshot PDF 提供了一个公共的全页捕获固定装置。它不包含用户数据,并被标记为 noindex,因为它是诊断界面,而不是搜索登陆页面。本文介绍了如何使用它以及如何建立其他人可以重复的接受记录。
该页面是独立的,不依赖第三方图像或API。它包括:

捕获之前,记录:
|领域|示例格式 |
| --- | --- |
|浏览器 | Chrome 主要版本 |
|扩展|截图 PDF 0.0.13 |
|视口|宽度 × 高度 CSS 像素 |
|放大|百分比 |
|设备像素比 |浏览器报告的值 |
|拍摄模式|整页或无分割|
|主题 |浅色或深色|
|开始时间 |本地时间戳和时区 |
不要将使用不同视口宽度进行的两个捕获进行比较,就好像它们是相同的测试一样。响应式布局可以更改部分高度、换行、表格宽度和切片数量。
在新标签页中打开测试页并重新加载。基线测试前不要手动滚动。启动全页截图并等待编辑器打开;尝试任何变通方法前,先保留第一次结果。
然后验证:
如果端点丢失,请记录最后一个可见标记并测量页面的 CSS 高度。当前的整页工作流程限制为 15,000 CSS 像素;故意较长的装置或用户页面必须分段捕获。
重新加载测试页,从上到下缓慢滚动,等待每个延迟加载区块出现,再回到顶部重新截图。将这个预加载结果与基线结果比较。
如果基线有空块但预加载结果已完成,则捕获管道正在运行,但页面的加载延迟超出了自动滚动期间可用的等待时间。正确的解决方法是预加载或分段页面,而不是将丢失的图像标记为拼接错误。
使用交替部分背景和画布条纹图案。缺失的条带会导致条带序列突然跳跃。重叠重复条纹或标记。动态高度变化会使内容在边界上错位。
检查实际像素大小,而不仅仅是适合窗口。记录近似垂直坐标以及问题上方和下方的标记。这为开发人员提供了一个可复制的位置,而不是“靠近中间的某个位置”。
无论截图成功或失败,都返回测试页标签,确认:
恢复是测试的一部分,因为扩展会暂时改变浮动元素的可见性。正确的输出不能成为源选项卡处于修改状态的借口。
如果一个部分失败,请首先使用固定装置进行重现,然后使用仅包含相关行为的缩小的本地页面进行重现。删除私有数据、身份验证、广告、分析和不相关的框架。保留触发问题所需的最小 CSS 或 JavaScript。
提供浏览器和扩展程序版本、视口、缩放、捕获模式、标记范围、预期结果、实际结果以及预加载是否会更改结果。附加裁剪后的证据而不是整个私人页面。
每次运行使用一行:
|运行|标记完整 |浮动界面仅一次 |延迟加载区块完整 |拼接无接缝|末端标记存在 |源页面已恢复 | | --- | --- | --- | --- | --- | --- | --- | |基线|通过/失败 |通过/失败 |通过/失败 |通过/失败 |通过/失败 |通过/失败 | |预装|通过/失败 |通过/失败 |通过/失败 |通过/失败 |通过/失败 |通过/失败 |
为每个失败添加一个简短的注释并保留原始输出。可重复的固定装置无法覆盖每个网站,但它可以将扩展范围内的回归与一个网站的动态行为分开。
高质量的屏幕截图测试并不是“尝试几个页面,看看它们看起来是否正常”。它定义输入,公开已知的边缘情况,记录端点,检查恢复情况,并生成其他人可以重复的结果,而无需访问私人信息。