fix(发布骨架): 补上缺失的第二个「下一步」(剪辑页 → 发布页)+ 发布页校验超时 25 秒
复查骨架时发现:抖音是 相册页 →(下一步)→ 剪辑页 →(下一步)→ 发布页, 而骨架里只画了一个「下一步」就直奔"点击标题框" —— 照它建出来的任务会在剪辑页上 去点标题框、一路空点到"发布",最后什么都没发出去(还不报错)。 · 补 `⑯ 点击「下一步」(剪辑页 → 发布页)` · 把「发布页」校验挪到标题框**之前**(点下一步②之后就在发布页了),特征用 `添加标题/添加作品描述`(25 秒:发布页要加载) · 「发布按钮」校验留在点「发布」之前(20 秒) · 标签重新编号 ⑧~㉔,读起来是一条完整链路 同步:doc/API.md 的骨架描述(步数)。
This commit is contained in:
+15
-9
@@ -601,25 +601,31 @@ def build_release_steps():
|
||||
clk("video", "⑫ 点击第一个素材(刚推的排最前;抓一次就行)"),
|
||||
build_expect_step("⑬ 校验:素材应已选中(看到「选择/预览」)", "xpath",
|
||||
"//*[@content-desc='选择' or @content-desc='预览']", "素材已选中", timeout=10),
|
||||
clk("next", "⑭ 点击「下一步」"),
|
||||
clk("next", "⑭ 点击「下一步」(相册页 → 剪辑页)"),
|
||||
# 剪辑页要等**视频导入完成**("正在导入"弹窗挡住工具栏):真机实测(2026-10-12 A06)
|
||||
# 一条 25 秒的视频导入要 25 秒+,10~12 秒必然判"没到剪辑页"→ 这一条白发。给到 45 秒。
|
||||
build_expect_step("⑮ 校验:应在剪辑页(看到「文字/话题」工具)", "xpath",
|
||||
"//*[@content-desc='文字' or @content-desc='话题']", "剪辑页", timeout=45),
|
||||
clk("input", "⑯ 点击标题框(抖音发布页的标题框:hint「添加标题」)"),
|
||||
# ⚠ 这里**必须**有第二个「下一步」:抖音是 相册页 →(下一步)→ 剪辑页 →(下一步)→ 发布页,
|
||||
# 少了它就会在剪辑页上去点"标题框",然后一路空点到"发布"(2026-10-12 复查骨架时补上)
|
||||
clk("next2", "⑯ 点击「下一步」(剪辑页 → 发布页)"),
|
||||
build_expect_step("⑰ 校验:应在发布页(看到「添加标题/添加作品描述」)", "xpath",
|
||||
"//*[contains(@text,'添加标题') or contains(@text,'添加作品描述')]",
|
||||
"发布页(标题/描述框)", timeout=25),
|
||||
clk("input", "⑱ 点击标题框(抖音发布页的标题框:hint「添加标题」)"),
|
||||
{"id": sid("title"), "type": "input_text",
|
||||
"label": "⑰ 填标题(自动取这一条计划的标题,会回读校验)",
|
||||
"label": "⑲ 填标题(自动取这一条计划的标题,会回读校验)",
|
||||
"params": {"text_source": "release_title", "release_topics": "",
|
||||
"clear_first": True, "mode": "random", "texts": "", "fixed_text": ""}},
|
||||
clk("body", "⑱ 点击正文框(发布页的描述框:hint「添加作品描述」)"),
|
||||
clk("body", "⑳ 点击正文框(发布页的描述框:hint「添加作品描述」)"),
|
||||
{"id": sid("bodytxt"), "type": "input_text",
|
||||
"label": "⑲ 填正文(自动取这一条计划的正文,会回读校验)",
|
||||
"label": "㉑ 填正文(自动取这一条计划的正文,会回读校验)",
|
||||
"params": {"text_source": "release_body", "release_topics": "",
|
||||
"clear_first": True, "mode": "random", "texts": "", "fixed_text": ""}},
|
||||
build_expect_step("⑳ 校验:应在发布页(看到「发布」按钮)", "xpath",
|
||||
"//*[@text='发布' or @content-desc='发布']", "发布页(发布按钮)", timeout=10),
|
||||
clk("publish", "㉑ 点击「发布」"),
|
||||
dict(build_mark_step("㉒ 标记发布结果(成功走这里;失败分支再放一个 result=failed)")),
|
||||
build_expect_step("㉒ 校验:应在发布页(看到「发布」按钮)", "xpath",
|
||||
"//*[@text='发布' or @content-desc='发布']", "发布页(发布按钮)", timeout=20),
|
||||
clk("publish", "㉓ 点击「发布」"),
|
||||
dict(build_mark_step("㉔ 标记发布结果(成功走这里;失败分支再放一个 result=failed)")),
|
||||
]
|
||||
# 循环体:切号 → 读名字 → 校验 → 推送 → 发布 → 标记。
|
||||
# `switch_account` 自己会先看"当前是不是已经是目标"(第一个号不用切),
|
||||
|
||||
Reference in New Issue
Block a user