老师来回答下~你的图我这边看不到具体代码,但从问题本身说,判断要不要加 if,核心原则只有一句:
if 用来表达"业务上真的存在分支",不是用来"规避代码报错"。
建议加 if 的场景
- 业务分支:不同支付方式走不同页面、不同角色权限看到不同菜单 —— 这是真实需求分支。
- 环境/配置差异:测试/预发地址不同、H5 和 App 驱动不同。
- 数据驱动差异化:同一份用例,正例数据走得通、异常数据要跳过某步。
- 兼容性兜底:某个版本会弹新手引导、广告弹窗,出现时才点掉。
-
空值/边界防护:取到的列表可能是空、字段可能为
null。
不建议加 if 的场景(坑最多)
-
用 if 包断言

if el.is_displayed(): assert el.text == "提交成功"元素一没找到,用例就直接"绿"了,等于假通过。断言就该无条件执行。
-
用 if 判断元素在不在,替代显式等待

该用WebDriverWait等元素出现,而不是if find_element拼运气。 -
顺序步骤没有分支也加 if
纯粹增加复杂度,增加维护成本。
一个自检小法子
写完这个 if,问自己一句:“如果去掉这个 if,用例会在什么情况下挂?那个挂,是 bug 还是代码写得糙?”
- 是 bug → 不该加,让它挂出来
- 是代码写得糙(等待不到位、定位不稳) → 修代码,不是加 if
如果你把代码截图里那段贴成文字发我,我可以直接帮你看看这段到底是"真分支"还是"在掩盖问题"~