我目前正在开发一个项目,我正在使用TestNG启动Selenium测试套件,并在一个maven项目中处理我的结果记录,这些项目每晚都在Jenkins工作上运行。
目前,当测试失败时,TestNG会杀死我们正在运行的所有内容,它不会使当前测试失败并继续运行套件中的其他测试。我不明白为什么TestNG不会失败当前的测试,然后启动尚未运行的剩余测试。这使得TestNG在这一点上成为一种无用的工具。必须有一种方法可以将TestNG配置到某个位置,以便在单个测试失败后继续运行测试。
是的,我一直在寻找答案,但我还没有找到解决这个问题的人。我开始认为我需要查看一个不同的工具来处理我的测试执行和结果,如果我不能让TestNG正常工作。
答案 0 :(得分:0)
为你的断言创建一个帮助器类。把你的断言放在try和catch中,当你的断言失败时,只记录错误而不要抛出它。在测试结束时,查看是否记录了任何错误,并在出现错误时抛出异常
public static void AssertVerticalAlignment(int a, int b)
{
try
{
Assert.AreEqual(a, b);
}
catch (Exception exception)
{
LogHelper.LogException(exception.Message);
}
}