gpt4 book ai didi

java - Selenium Java(maven 项目): TestNG results differs from ReportNG

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:26 25 4
gpt4 key购买 nike

我尝试运行 testng.xml,结果是:

===============================================

Default test

Tests run: 14, Failures: 6, Skips: 0

Default suite

Total tests run: 14, Failures: 6, Skips: 0

===============================================

现在,我禁用了默认的 TestNG 监听器并在 testng.xml 中添加了 ReportNG 监听器。 testng.xml。看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Test">
<classes>
<class name=".URL_Daily" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

按照步骤,我在 maven 的 pom.xml 中添加了 velocityguicereportng 依赖项。

在执行测试套件 testng.xml 时,将创建以下文件夹(以红色框标记)。

enter image description here

打开 index.html 后,结果如下: enter image description here

正如预期的那样,ReportNG 应该会创建一个输出文件夹,但在我的场景中并没有注意到这一点。其次,结果不同。

此外,报告 index.html 看起来并不像实际情况那样。有人能告诉我哪里出了问题吗?

一些细节供您引用:

操作系统:Windows 7

Guice.jar版本:guice-4.1.0

ReportNG 版本:reportng-1.1.4

速度版本:velocity-dep-1.4

TestNG版本:testng-6.11

Selenium 版本:selenium-java-3.5.3

eclipse : eclipse 氧气

我的测试用例如下:

public class MwSites {
WebDriver driver;

@BeforeTest
public void setup ()
{
System.setProperty("webdriver.chrome.driver", "F:\\Automation\\Drivers\\Selenium Drivers\\chromedriver_win32\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("start-maximized");
options.addArguments("--js-flags=--expose-gc");
options.addArguments("--enable-precise-memory-info");
options.addArguments("--disable-popup-blocking");
options.addArguments("--disable-default-apps");
options.addArguments("test-type=browser");
options.addArguments("disable-infobars");
driver = new ChromeDriver(options);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}

@AfterTest
public void Quit () throws InterruptedException
{
driver.quit();
}

@Test(priority = 0)
public void MI_Demo () throws InterruptedException
{
driver.navigate().to("http://demo.movingwalls.com/mi/#/login");
Assert.assertEquals("Login", driver.getTitle());
if (driver.getTitle()=="Login"){
System.out.println("Failed to access MI in demo environment");
}
else{
System.out.println("MI is successfully accessed in demo environment");
}
}

最佳答案

由于您的测试被跳过,您可能需要先检查测试结果 xml 以找出根本原因(异常)。

另一方面,我只是想知道使用一个没有维护4年的库的初衷是什么? ReportNG 已死。这是事实。如果您查看它的来源,您会看到它使用的是哪个 TestNG 版本 (6.8)。你可以很容易地假设它的 reporter 是基于旧的 TestNG API。

当您添加 TestNG 6.11 作为依赖项时,发生 jar hell 的概率相当高。如果这是您问题的根本原因,我也不会感到惊讶。

如果您还没有决定使用哪个报告系统,我建议您看看现代的 Allure 2框架。

否则,只需先检查堆栈跟踪以了解问题的根本原因。

关于java - Selenium Java(maven 项目): TestNG results differs from ReportNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46923243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com