我对TestNG注释没有太多经验,但是我正在尝试使用TestNG框架和零售网站的POM设计模式构建一个测试套件。我计划使用数据驱动的方法。我的计划是通过excel驱动我的测试场景,而不是使用testng. xml。
例如,我将有许多测试套件,这些测试套件只不过是包名称TestSuite下的各种类文件。测试套件名称将在Excel中列出,用户将被允许通过将运行模式更改为TRUE/FALSE来设置测试套件的运行模式。在这里,我计划实施一个条件检查,看看运行模式是否为FALSE,并相应地跳过测试套件,即测试套件类。
我们是否有任何直接的方法来使用TestNG实现相同的目标,或者请通过一个小例子提出相同的解决方案。
请在测试开始时添加以下代码行,这将跳过您的测试用例
throw new SkipException("Skipping the test case");
您可以使用TestNG的注释转换器将@Test
注释的禁用
属性设置为true或false。
示例:
public class MyTransformer implements IAnnotationTransformer {
public void transform(ITest annotation, Class testClass,
Constructor testConstructor, Method testMethod){
if (isTestDisabled(testMethod.getName()))) {
annotation.setEnabled(false);
}
}
public boolean isTestDisabled(String testName){
// Do whatever you like here to determine if test is disabled or not
}
}
从6.13开始抛出新的SkipException(“跳过测试用例”);
不起作用。我必须在抛出异常之前设置状态,否则测试状态将是失败而不是跳过:
iTestResult. setStatus(TestResult.SKIP);抛出新的SkipException(“跳过测试用例”);
可能会在下一个版本中修复/更改,详情请参阅https://github.com/cbeust/testng/issues/1632。