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