如果一个测试用例失败,如何自动转到下一个案例并在selenium webdriver中执行?

时间:2017-06-15 22:26:51

标签: java selenium-webdriver frameworks

我在selenium webdriver(而不是TestNG)中创建了3个单独的测试用例 - 单独的java文件。我想逐个执行所有三个测试用例。如果一个测试用例失败,我想继续执行下一个测试用例。我有什么选择?有什么建议? (我是Selenium的新手。)

2 个答案:

答案 0 :(得分:0)

我做了我想称之为"骨架"为了你。我不知道你的情况到底是什么,因为你没有解释,所以你必须填写这些行。几乎所有你要做的就是创建一个boolean变量(我称之为我的valid)并使用if语句来继续运行测试。如果不满足您的条件,它将打印,"您未通过测试。"如果满足其中一个条件,它会说,"你通过了测试。"这是用Java编写的:

public class Test {  
    static boolean ConditionIsMet = false;
    static boolean valid = false;

    public static void main(String[] args) throws Exception {
        if (!valid) {
            TestOne();
            TestTwo();
            TestThree();
            System.out.println("You failed the test");
        } else {
            System.out.println("You passed the test");
        }
    }
    private static void TestOne() {
        //Go through a test
        if(ConditionIsMet) {
            valid = true;
        }
    }   

    private static void TestTwo() {
        //Go through a different test
        if(ConditionIsMet) {
            valid = true;
        }
    }

    private static void TestThree() {
        //Go through another different test
        if(ConditionIsMet) {
            valid = true;
        }
    }
}

答案 1 :(得分:0)

我做了一些研究后确实找到了解决方案。我有一个数据驱动的excel框架(Apache POI),每行都是测试用例的测试数据。我的代码看起来像这样,现在工作正常。如果其中一个测试中有异常,它会捕获它并自动跳到下一个测试。如果发生nosuchobjectelement等异常,则会捕获异常并将异常发送到日志文件&测试用例失败了。因为for循环仍处于活动状态,所以它会进入下一个测试并再次开始执行它。

For(test 1 to n)    {      尝试       {       //执行测试的步骤       }      捕获(例外e)       {        Log.Output(e.description);       }

}