Java 确保测试在TestNG套件中失败时继续执行
我有一套使用testng的回归测试:-Java 确保测试在TestNG套件中失败时继续执行,java,selenium,testng,Java,Selenium,Testng,我有一套使用testng的回归测试:- <suite> <test> <classes> <class name="test1"/> <class name="test2"/> <class name="test3"/> <class name="test4"/> <
<suite>
<test>
<classes>
<class name="test1"/>
<class name="test2"/>
<class name="test3"/>
<class name="test4"/>
<class name="test5"/>
</classes>
</test>
</suite>
基类:
public class TestBase
@BeforeClass
@Parameters({"env", "browser", "login", "mode", "emulatorMode"})
public void initialiseTests(String env, String browser, String login, String mode, String emulatorMode) throws MalformedURLException {
APPLICATION_LOGS.debug("Running @BeforeClass");
EnvironmentConfiguration.populate(env);
WebDriverConfigBean webDriverConfig = aWebDriverConfig()
.withBrowser(browser)
.withDeploymentEnvironment(env)
.withSeleniumMode(mode);
//new driver gets insantiated here in this openBrowser method
driver = WebDriverManager.openBrowser(webDriverConfig, getClass());
//unrelated code...
@AfterClass
public void afterClass() {
APPLICATION_LOGS.debug("Running @AfterClass");
driver.quit();
}
@AfterSuite()
public void afterSuite() {
APPLICATION_LOGS.debug("Running @AfterSuite");
extent.flush();
}
您使用的是什么版本的testng?在旧版本(6.9.something)中有一个bug导致了这个问题 我建议验证您使用的是最新版本 好的,没有任何东西会从代码或堆栈跟踪中跳出……因此,可能有很多原因。我唯一的其他建议是将测试步骤设置为始终运行…如下所示:
@Test(alwaysRun = true)
您使用的是什么版本的testng?在旧版本(6.9.something)中有一个bug导致了这个问题 我建议验证您使用的是最新版本 好的,没有任何东西会从代码或堆栈跟踪中跳出……因此,可能有很多原因。我唯一的其他建议是将测试步骤设置为始终运行…如下所示:
@Test(alwaysRun = true)
谢谢,我用的是6.9.10。我将升级并再次尝试。幸运的是,我仍然遇到同样糟糕的问题,你能告诉我你的测试类是如何实现的吗?不确定是什么导致了这个问题。请查看我的编辑以获得最后的建议。我已将alwaysrun=true添加到每个测试类的@BeforeClass中,因为每个类都有一个这样的方法。让我们看看这是否会在作为套件运行时强制继续测试运行,然后出现错误,例如我提到的异常谢谢,我使用的是6.9.10。我将升级并再次尝试。幸运的是,我仍然遇到同样糟糕的问题,你能告诉我你的测试类是如何实现的吗?不确定是什么导致了这个问题。请查看我的编辑以获得最后的建议。我已将alwaysrun=true添加到每个测试类的@BeforeClass中,因为每个类都有一个这样的方法。让我们来看看,在我提到的异常等错误之后,作为套件运行时,这是否会强制继续测试运行。您可以提供stacktrace吗?您可以提供stacktrace吗?