我有一套硒测试,使用TestNg放在一起,并使用Maven和Surefire在Jenkins上运行。TestNg记者信息在肯定的测试结果输出中重复
我试图把一个测试报告,包括使用TestNG的记者信息的自定义信息,但我遇到了一个问题与神火报告重复使用Reporter.log()不管我输出。
如果我运行使用TestNG的Eclipse插件,我得到记者下输出以下输出(在TestNG的测试输出)的报告:
自定义输出到这里
如果我运行使用万无一失(MVN清洁测试)我得到以下(在神火测试输出):
自定义输出到这里
自定义输出到这里
自定义输出到这里
自定义输出到这里
下面是其创建的输出我的失败覆盖:
public class TestListeners extends TestListenerAdapter{
@Override
public void onTestFailure(ITestResult tr)
{
Reporter.log("Custom output goes here");
}
}
测试:
public class ReportTest extends TestBase{
@Test(groups="report")
public void reportTest()
{
driver.navigate().to("https://www.google.com");
driver.findElement(By.id("no-element-here"));
}
}
而且TestBase(用于设置打开并拆除驱动程序和环境):
@Listeners({TestListeners.class})
公共类TestBase {
private Configuration config = new Configuration();
protected String base_url;
public static WebDriver driver;
@BeforeClass(alwaysRun=true)
public void setUp()
{
driver = selectDriver();
driver.manage().timeouts().implicitlyWait(config.timeout, TimeUnit.SECONDS);
if(config.maximise)
{
driver.manage().window().maximize();
}
base_url = config.base_url;
}
@AfterClass(alwaysRun=true)
public void tearDown()
{
driver.quit();
}
另外,POM,以防万一:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18</version>
<configuration>
</configuration>
</plugin>
</plugins>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.1.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.44.0</version>
</dependency>
我只是想不通为什么它在TestNg中运行时工作正常,但在Surefire运行时随机重复。任何帮助,将不胜感激!提前致谢!