QAF 3.0.1版本如何让自定义测试步骤按条件失败并上报错误信息
QAF 3.0.1 自定义测试步骤标记失败并上报自定义日志方案
核心原因
QAF的自定义测试步骤默认只有在方法抛出未捕获的断言类异常时,才会被标记为失败状态。你当前的代码仅做了条件判断,没有触发异常抛出逻辑,因此即使计算结果不符合预期,步骤也始终显示为通过。
具体实现
推荐直接使用QAF自带的Verification工具类的fail()方法实现,该方法会自动适配QAF的报告体系,错误日志的展示效果和内置步骤完全一致。
修改后的代码示例如下:
import com.qmetry.qaf.automation.util.Verification; import com.qmetry.qaf.automation.step.QAFTestStep; @QAFTestStep(description = "I check quantity") public static void iCheckQuantity() { String product = getBundle().getString("prj.product"); // 修正类型转换逻辑:从bundle中取出的字符串需要转成Integer Integer availableStock = Integer.valueOf(getBundle().getString("prj.aStock")); Integer minStock = Integer.valueOf(getBundle().getString("prj.minStock")); if (availableStock < minStock) { // 调用Verification.fail方法传入自定义错误信息即可 Verification.fail(String.format("minimum stock required to run the test for \"%s\" is %d but presently available is %d", product, minStock, availableStock)); } }
可选实现方案
你也可以使用测试框架原生的断言失败方法,比如TestNG的Assert.fail(),也能实现标记步骤失败、上报自定义信息的效果,只是QAF自带的Verification类对QAF报告的适配性更好,无需额外配置。
内容的提问来源于stack exchange,提问作者Renish
相关产品推荐
相关产品推荐

