Playwright实战教程公众号文章

敢不敢让它跑一整晚?我跑了 6 天没人碰,捞出 22 个手工复现不出的崩溃

「车载测试手记」#1 | 写车载 / 座舱 / 车机这条线的实战经验。后台回复「无人值守」领《无人值守自检清单》。

Playwright实战教程

公众号 · 14 篇文章

 

图片


「车载测试手记」#1 | 写车载 / 座舱 / 车机这条线的实战经验。后台回复「无人值守」领《无人值守自检清单》。


【老粉向导】教程栏目照常更新,「车载测试手记」:写我另一段履历里压箱底的东西——车机、座舱、无人值守这条线。车载方向的问题,后台留言或加我小号聊。

跑自动化最窝火的时刻,不是用例挂了,是第二天早上发现:昨晚跑的那批,全卡在同一个弹窗上——机器跑了一夜,什么都没产出。

这就是"有人值守"和"无人值守"的分界线。上个月我把 5 台设备摆上机架,连跑 6 天 × 24 小时,中间没人碰过:

  • • 捞出22 个手工根本复现不出来的 Crash / ANR;
  • • 同一个项目,常规用例跑完它又挖出 31 个 bug,同期旧工具只发现 4 个——新增发现里 88.6% 是它挖的。

这篇只讲一件事:怎么让机器敢替你熬夜。看完你能带走三样:① 无人值守的三个硬坑和填法;② "保证不点坏"的五重熔断思路;③ 文末领《无人值守自检清单》(17 条弹窗白名单 + 熔断默认值 + 数据断言三问),开跑前照着过一遍。

说明:案例来自真实商业项目,客户、机型、包名、业务数据全部脱敏;效率类数字还在验证,这篇不写。

一、三个坑,决定你"敢不敢走开"

如果你那边"本地全绿、真机一半超时",或者"用例全绿、线上照样出事",病根大概率在这三个坑里。

坑一:用 sleep 等页面

本地跑通,上真机一半超时;机器越慢死得越难看。解法:所有 sleep 换成显式等待——控件真的存在再动手。sleep 是"看起来能跑",不是"跑得稳",这两件事差着一个季度的返工量。

坑二:系统弹窗偷袭

卡在"是否允许访问通讯录"一整夜,第二天早上才发现白跑。解法是一张弹窗白名单(17 条中英系统词条:确定 / 取消 / 始终允许 / OK……),命中就自动点掉;不在名单里的,一律走"安全退出"而不是盲点——你不可能穷举所有弹窗,"不知道就别动"必须写进默认分支。

坑三:断言只断言"页面到了"

最隐蔽的坑:用例全绿,线上照样出问题。"控件出现了"和"操作真的生效了"是两回事。解法:断言落到数据状态——条数变了没、字段改了没、持久化对不对。只看界面不看数据,等于没测。

二、敢没人看,靠的不是胆子,是刹车

图片

跑到异常会不会自己刹车?会,靠的是五重熔断——你可以理解为给自动化装五个保险丝:任务总时长、总步数、页面深入层数、截图数量、同一界面打转次数,各设一个上限,超限自动停机归档,参数全部可配置。具体默认值,清单里给你。

但比配置更要命的是代码本身的坑。上个月复跑这套东西,第一个跳出来的就是P0:一个非目标包分支上的continue,会把后面所有终止条件一起跳过——任务永不停机,五重熔断形同虚设。修法只有一行:判定挪到循环头。写在循环里的终止条件,只要有一条路径能绕过它,它就等于不存在。

修完之后同一套遍历:

  • •Settings(上限 60s):修复前三次全卡满 196s ❌ → 修复后 70.5 / 65.4 / 66.3s,3/3 达标 ✅
  • •Launcher(上限 45s):修复前 202s 阻塞 ❌ → 修复后 4/4 全部自行停机 ✅

它既能定位"卡死在哪",也能验证"修好了没有"——很多工具只做前半段。

三、还有一块压箱底的:不写用例,让 App 自己走

图片

同一套东西,还能不写一条用例:直接读当前界面的 UI 树,自动生成路径自己走,崩的、卡的、绕不出去的全记下来。新增 bug 里 88.6% 是它挖的。

这块是"AI 进测试"前夜最重要的一步,展开讲能写三篇——怎么解析界面、路径怎么生成、怎么保证不点坏。今天只露一角:做遍历最难的不是点得多,是知道哪里不能点——代码里直接拒绝点击"恢复出厂设置"这类点了就回不来的入口,不靠配置、不靠运气。

下篇拆。

四、设备不在工位,是第三块拼图

前两块解决"怎么跑",云真机解决"在哪跑":设备上机架排队跑,崩溃瞬间的截图、日志、操作步骤自动归档,出问题能回放到具体一步。这块业务价值极大,后面单独拆。


框架解决"怎么写",遍历解决"怎么走",云真机解决"在哪跑"。三块拼起来,机器才真正替你熬夜。

先领东西再走:
图片
《无人值守自检清单》预览
后台回复「无人值守」,领《无人值守自检清单》——17 条弹窗白名单起点 + 五重熔断默认值 + 数据断言三问 + 开跑前 7 项自检。一页纸,明晚开跑前照着过一遍。(清单末页有我微信号,车载方向的问题,微信里聊。)

下篇写哪个,你定:

  • •A.自动遍历实现拆解(UI 树解析 / 路径生成 / 熔断落地)
  • •B.UI Automator 从 0 到能跑(完整踩坑清单)
  • •C.云真机调度与排队实战
  • •D.遍历挖出的问题,怎么自动提单、自动回归

评论区留字母,票数最高的先写。

最后:如果你团队正卡在移动端 / 车机自动化选型上——不知道先搭框架还是先上遍历、该不该买云真机——后台私信按这个格式:几台设备 + 目前最卡的一步。看到会回,前 3 位免费帮看 15 分钟,聊清楚问题再说别的。

觉得有用,收藏一下。下次测试开跑前,记得领清单。


作者:欢乐马。文中遍历方法已获发明专利授权(第一发明人),仅作事实陈述。本文案例均来自已授权项目,关键信息已脱敏。

 

前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →订阅更新、RSS 与阅读指南 →