当前位置: 首页 > 知识库问答 >
问题:

Selenium Java(maven项目):TestNG结果与ReportNG不同

范承教
2023-03-14

我尝试运行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依赖项。

在执行testsuitetestng.xml时,将创建以下文件夹(用红框标记)。

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

操作系统:Windows 7

guice.jar版本:Guice-4.1.0

ReportNG版本:reportng-1.1.4

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");
    }
}

共有1个答案

皇甫飞宇
2023-03-14

当您的测试被跳过时,您可能希望首先检查测试结果xml,以找出根本原因(异常)。

另一方面,我只是在想,一个库4年不维护,用库的初心是什么?ReportNG死了。这是事实。如果您看一下它的源代码,就会看到它使用的是哪个TestNG版本(6.8)。您可以很容易地假设它的报告器是基于旧的TestNG API的。

当您将TestNG6.11添加为依赖项时,出现jar hell的可能性非常高。如果这是你问题的根本原因,我也不会感到惊讶。

否则,只需先检查stacktrace以了解问题的根本原因。

 类似资料:
  • 我已经用selenium和TestNG创建了maven项目。当我使用pom文件运行项目时,它不会生成TestNG结果(test-output文件夹)。但是当我以TestNG.xml->(右键单击)run as->TestNG套件的形式运行项目时,它会生成以下结果

  • 问题内容: 要一起运行它们,几乎没有可用的选项,但是我选择为Junit和TestNG使用不同的配置文件。但是现在的问题是排除和包含测试用例。 由于如果我们在Maven的主项目中添加testNG依赖项,它将跳过所有Junit,因此我决定将其放在单独的配置文件中。所以我使用pom.xml中的以下条目从默认(主要)配置文件中排除了TestNG测试: 与surefire插件相同。因此,它可以与主配置文件配

  • 我正在考虑使用硒、智能、测试和maven的测试自动化结构。你在下面想什么: 我使用了一个项目和许多目录,因为我只想有一个pom文件。如果你能帮我处理testng文件。如果我想运行所有“测试”目录中可用的所有测试,应该是什么样子?这意味着单击run并启动带有“Test”testng注释的所有测试。帮助程序、页面和测试目录的存在是因为我想用POM实现这一点 我的测试只是带有测试前、测试和测试后注释的示

  • 我对maven相当陌生。在Eclipse中,我在其中创建了一个maven项目,我可以看到src/main/java和src/test/java,还有一个src文件夹,其中也包含主文件夹和测试文件夹。在这里我很困惑我需要在哪个src文件夹中写代码。使用主文件夹和测试文件夹的主要好处是什么?为什么有两个主文件夹和两个src文件夹

  • 我刚刚在Java11以IntelliJ Maven项目的形式开发了我的第一个JavaFX应用程序,并达到了它按预期工作的地步。到目前为止,我只使用Maven来处理依赖关系,使用IntelliJ来编译和运行我的项目。 然后我继续尝试以JAR文件的形式打包项目,发现由于Java11不再包含JavaFX,JAR生成变得更加困难(是的,我知道,我应该早点检查这个)。在阅读JavaFX 11的文档时,我决定

  • 我希望我所有的课程都按顺序进行。下面是我的testng xml文件: 我试过在套房里用姓名标签来做: