用 Codex Computer Use 检查落地页:链接、表单和窄屏练习

下载本地练习页面,按步骤检查坏链接、虚假成功提示和窄屏布局。提供修正版本、结果模板及已通过的离线测试,明确浏览器验收边界。

用 Codex Computer Use 检查落地页:链接、表单和窄屏练习

落地页检查需要可复现的问题记录,不能只得到一句“看起来没问题”。本练习提供一个虚构的本地页面,故意包含坏链接、没有保存数据却显示成功的表单,以及需要检查的窄屏布局;另有修正版本可重复对照。

下载 QA 练习包。它包含 Python 服务、两个页面版本、测试、结果模板和答案说明,界面为英文。本文没有声称已经完成真实浏览器操作或窄屏验收。

启动本地练习

安装 Python 3.9 或更高版本,解压后进入 qa-kit 目录:

python3 -B server.py --port 8876

服务只监听 127.0.0.1。在获准使用的浏览器中打开终端显示的网址。端口被占用时可选择空闲端口,并统一修改测试计划里的地址;这不适用于绕过已有的访问拒绝。练习完成后按 Ctrl-C 停止服务。

/ 是故障版本,/fixed 是修正版本,/submissions 显示本地接收记录。只用 @example.test 结尾的合成地址,不填真实联系方式,不产生购买或外部表单投递。

给检查任务,不先给答案

让 Codex 检查导航、表单和 1440、390、320 CSS 像素宽度下的布局。要求保留证据、写出预期与实际结果,不修改页面。初次检查不要把源码和答案说明交给测试者,避免把读到的实现误当成观察结果。

这仍是教学练习,不能作为盲测能力榜单。故障是人为植入的,少量样例不能推算真实网站缺陷检出率。

链接不只检查是否返回 200

分别点击 Working guide 与 Pricing,记录最终 URL 和页面标题,再返回测试页。404 是失败;链接能打开却到了不相关页面,也没有满足读者预期。修正后的 Pricing 应到虚构价格说明,而不是随便一个存在的路由。

表单分成三个用例

先在另一个标签页读取 /submissions,记录数量,再回到表单操作。每次提交后刷新接收记录并比较,避免用旧页面状态判断。

输入预期行为
空输入显示有用的校验反馈,不新增记录
not-an-email显示格式错误,不新增记录
qa-run1@example.test可见反馈,并且恰好新增一条匹配记录

修正页复测使用 qa-run2@example.test,之后每次使用不同合成地址。成功提示只能证明界面显示了这句话,不能证明线索已保存。记录数与具体地址必须一起核对,重复保存也应报告。

故障版源码故意显示成功但不写入数据。这是练习的预设行为,不代表浏览器测试已发现问题。实际报告必须区分预设答案与本次观察。

窄屏记录具体尺寸

在每个宽度下检查指标卡片、导航、输入框和按钮,观察是否横向溢出、文字被遮挡或控件难以操作。截图同时记录真实视口尺寸;没有尺寸的截图难以复现。

桌面浏览器改宽度只是视口模拟,不等于物理手机的触控、键盘、浏览器行为或性能测试。结束后恢复临时设置。

把观察写成可复查的问题

每项记录应包含 URL、环境、输入、步骤、预期、实际与证据路径。空输入被接受、格式错误被接受、虚假成功提示可能来自同一个处理函数,不应为了数量拆成三个独立根因。

第一轮结束后再看答案,记录漏报与误报。用新地址对 /fixed 重复同样流程,再从新任务验证这些文字步骤是否足够让别人复现。

已通过什么测试

在 Python 3.9.6 与 Node.js 24.13.0 下,七项进程内 Python 处理器测试和九项 JavaScript 表单模拟通过,重新解压后也通过。运行方式:

python3 -B -m unittest discover -s . -p 'test_*.py' -v
node test_form.mjs

Python 检查包括无效请求长度与 JSON、合成地址校验、记录写入、路由和模板替换。JavaScript 使用伪造的 document 与 fetch 执行表单代码。它们不启动浏览器,也不发送网络请求。

因此,这些结果不能证明布局正确、浏览器已发送请求或 Codex 已发现缺陷。三个视口截图及原版/修正版浏览器对照仍未核实。本练习也不能替代完整的可访问性、安全、性能或跨设备审计。

需要把“是否完成”写成代码,可继续看 Computer Use 离线控制器;浏览器连接问题见 权限排查。

常见问题

测试通过意味着浏览器验收完成了吗?
没有。通过的是七项 Python 处理器测试与九项 JavaScript 模拟,尚未验证真实浏览器操作、三个视口布局或缺陷检出情况。