Bootstrap

selenium+testNG+junit生成xml 和html报告

selenium如何使用生成测试报告,本篇结合testng、junit来生成selenium的html报告。

一、生成testng xml报告

1、 maven工程的pom.xml中配置:

testng、reportng依赖

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.14.3</version>
    </dependency>
     <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.4</version>
            <scope>test</scope>
        </dependency>
</dependencies>

添加插件:“如下

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
            <suiteXmlFiles>
                <suiteXmlFile>xmlfile/testng.xml</suiteXmlFile>
            </suiteXmlFiles>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
            <properties>
                <property>
                    <name>usedefaultlisteners</name>
                    <value>false</value>
                </property>
                <property>
                    <name>listener</name>
                    <value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
                </property>
            </properties>
            <workingDirectory>target/</workingDirectory>
        </configuration>
    </plugin>
</plugins>
</build>

2、准备测试用例

用例前边,添加@Test注解,一定主要是testng的注解,否则导包错误也会运行不成功或报错

package selenium;

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.testng.Assert;
import org.testng.annotations.Test;


public class testngExample {

    @Test
    public  void test2() throws InterruptedException {
//    public  static void main(String[] args) throws InterruptedException {
//        System.setProperty("webdriver.chrome.driver", "D:\\04QAtools\\chromedriver.exe");
//        ChromeOptions option = new ChromeOptions();
//        ChromeDriver driver = new ChromeDriver(option);

        ChromeDriver driver = new ChromeDriver();
        driver.get("http://www.baidu.com");

        System.out.println("hello");
        Thread.sleep(2000);
        driver.quit();
        Assert.assertEquals(1,1);
    }

    @Test
    public void test(){
        Assert.assertEquals(2,1);
    }

    @Test
    public void test3(){
        Assert.assertEquals(1,1);
    }
}

3、配置testng.xml

在 s r c 根目录下,新建名称为 t e s t n g . x m l 的文件 \color{#FF0000}{在src根目录下,新建名称为testng.xml的文件} src根目录下,新建名称为testng.xml的文件,指定需要测试的group、classes、class,根据需要设置即可,这里只指定了class。

<?xml version = "1.0" encoding = "UTF-8"?>
<!--<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">-->
<suite name = "selenium Suite"  >
<!--    <groups>-->
<!--        <run>-->
<!--            <include name="group1"/>-->
<!--        </run>-->
<!--    </groups>-->
    <test name = "selenium test">
        <classes>
            <class name = "selenium.testngExample" />
           <!--     <methods>
                    <include name="test001"/>
                </methods>  -->
        </classes>
        <listeners>
            <listener class-name="org.uncommons.reportng.HTMLReporter"/>
            <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
        </listeners>
    </test>
</suite>

4、配置运行环境

在 t e s t n g . x m l \color{#FF0000}{在testng.xml} testng.xml上右键->更多运行/调试->修改运行配置-> 侦听器,勾选“使用默认报告”,确定保存。
在这里插入图片描述
在这里插入图片描述

5、运行,生成testng测试报告

1、运行前提
1) 运行 − > 运行配置,确保 t e s t n g 下只有 t e s t n g . x m l 一个运行方式 \color{#0000FF}{运行->运行配置,确保testng下只有testng.xml一个运行方式} 运行>运行配置,确保testng下只有testng.xml一个运行方式
2) 依赖变更后,一定用 m a v e n 重新加载下项目 \color{#FF0000}{依赖变更后,一定用maven重新加载下项目} 依赖变更后,一定用maven重新加载下项目,见下图,否则运行结果不是按照最新依赖来执行的。
在这里插入图片描述

2、运行方式
1) 优先此方式: I D E A − > 运行 − > 运行,选择 t e s t n g . x m l 运行 \color{#FF0000}{优先此方式:IDEA->运行->运行,选择testng.xml运行} 优先此方式:IDEA>运行>运行,选择testng.xml运行,因为经常会出现多个运行方式,按照方式2 ,会概率性导致结果不正确。
2)在testng.xml上右键->运行

3、运行结果
1)只有一个teetng.xml运行时,生成的报告如图2
2)当有其他运行方式时,概率性生成图3的测试报告
总之,不管哪种报告,都生成了,生成test-output目录,报告存放在suite名称的目录下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、生成junit.html报告

1、配置build.xml文件

上述步骤我们获得了junit的xml报告,现在我们一个简单的 Ant 构建配置 XML 文件来为测试执行生成一个 HTML 报告。
在 s r c 根目录下,创建一个名为 b u i l d . x m l 的新文件 \color{#FF0000}{在src根目录下,创建一个名为 build.xml 的新文件} src根目录下,创建一个名为build.xml的新文件,并填写如下内容
1)第1个中指定xml文件所在位置
2)第2个中指定html报告输出位置。

<target name = "junit-report">
    <delete dir = "${report-dir}" failonerror="false"/>
    <mkdir dir = "${report-dir}" />
    <mkdir dir = "${report-dir}/Junit" />
    <junitreport todir = "${report-dir}/Junit">
        <fileset dir = "${junit-xml-dir}">
            <include name = "**/*.xml" />
        </fileset>
        <report format = "noframes" todir = "${report-dir}/Junit" />
    </junitreport>
</target>

2、生成junit html报告

在IDEDA->终端,输入ant运行,生成html报告

在这里插入图片描述
在这里插入图片描述

我是妮子,一个拥有15年工作经验的一线大厂资深测试经理
在这里插入图片描述

;