【发布时间】:2014-07-29 16:58:14
【问题描述】:
我正在使用 junit 和 selenium 来测试 Web 应用程序,并且我有一个正在运行的测试套件。有时,当网页无法在浏览器中正确加载时,测试会失败,这并不是实际应用程序的错误。为了解决这个问题,我想捕获任何第一次出现的错误并再次运行测试以确保问题确实出在应用程序上。 我试过下面的代码。
try{
ts.runTest(ts.testAt(testNum), a);
}
catch (Error er){
ts.runTest(ts.testAt(testNum), a);
}
catch (Exception e){
ts.runTest(ts.testAt(testNum), a);
}
我也试过了
ts.runTest(ts.testAt(testNum), a);
if (!a.wasSuccessful()){
ts.runTest(ts.testAt(testNum), a);
if (!a.wasSuccessful()){
fail();
System.out.println("Test "+testNum+" failed");
}
}
但是在这两个测试中,程序第一次遇到错误时会完全停止测试。尽管失败了,但我需要能够多次运行这些测试。
【问题讨论】:
-
您可以使用 JUnit @Rule。请参阅gist.github.com/abyx/897229 获取灵感
标签: java testing selenium junit