You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

测试自动化异常处理:找不到创建产品按钮时执行代码B的方法

测试自动化中元素未找到的异常处理方案

针对你提出的场景,核心是通过异常捕获机制区分「元素未找到」和「元素存在但禁用」两种情况,仅在元素未找到时执行代码B。以下是具体实现方案:

实现思路

利用测试框架(如Selenium)抛出的NoSuchElementException捕获「创建产品按钮找不到」的场景,在异常分支中执行代码B;同时保留原有的禁用状态断言,确保元素存在但禁用时不执行点击操作。

代码示例(Java)

import org.openqa.selenium.NoSuchElementException;

try {
    // 尝试定位并验证创建产品按钮状态后点击
    CreatorProductPage.createProductButton().shouldNotBe(Condition.disabled).click();
    // 按钮点击成功后执行原有后续步骤
    CreatorAddProductPage.createClassButton().click();
} catch (NoSuchElementException e) {
    // 找不到创建产品按钮时,执行代码B
    // 替换为你的代码B具体逻辑
    codeBExecution();
} catch (AssertionError e) {
    // 可选:元素存在但处于禁用状态时的处理(如日志记录)
    System.out.println("创建产品按钮处于禁用状态,跳过点击操作");
}

关键说明

  • 精准捕获异常:仅捕获NoSuchElementException,避免用宽泛的Exception导致误触发代码B(比如网络超时、其他元素异常等)
  • 保留禁用校验:原有的shouldNotBe(Condition.disabled)断言会在元素存在但禁用时抛出AssertionError,可单独捕获该异常做日志或跳过处理,不触发代码B
  • 代码B封装:建议将代码B逻辑封装为独立方法(如示例中的codeBExecution()),提升代码可读性和复用性

内容的提问来源于stack exchange,提问作者조잔쓰

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:31:07