1、Maven本身并不是一个单元测试框架,它只是构建,执行到特定生命周期阶段的时候,通过插件maven-surefire-plugin(测试运行器Test Runner)来执行JUnit/TestNG的测试用例。且这个插件能兼容JUnit3,JUnit4,TestNG。
2、当pom.xml文件里的<build>没有配置maven-surefire-plugin插件,当运行mvn test命令以编译并执行你项目下的测试类(即src/test/java目录下的java文件)时,会按maven-surefire-plugin插件的默认配置来执行的。所谓的默认配置是指以下几类:
1) **/Test*.java:任何子目录下,所有以Test开头的Java类
2) **/*Test.java:任何子目录下,所有以Test结尾的Java类
3) **/*TestCase.java:任何子目录下,所有以TestCase结尾的Java类
3、如果想让maven执行指定的测试类,则需要配置,配置方式大概有以下几种:
a)使用include和exclude,以“通配符”模式来限定哪些是测试类,哪些不是
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xuwei.test</groupId> <artifactId>DanXinBenTest</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>danxinben-test</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.4</version> <scope>test</scope> <!-- <classifier>jdk15</classifier>--> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>javax.tools.JavaCompiler</artifactId> <version>3.0</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.9</version> <configuration> <includes> <include>**/*.java</include> </includes> <!--includes标签是指定了任何路径下,任何java类都执行测 试--> <excludes> <exclude>**/*ServiceTest.java</exclude> </excludes> <!--excludes标签是指定了任何路径下,以ServiceTest结尾的不执行测试。若一个测试类既在<includes>中,也在<excludes>时,则按这个测试类最终在哪一边来执行,--> </configuration> </plugin> </plugins> </build> </project>
b) 可以使用skipTests来跳过测试的执行(编译了但不执行)
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.9</version> <configuration> <skipTests>true</skipTests> <!--不执行测试用例 --> </configuration> </plugin>
c)在maven-compiler-plugin插件中设置skip=true,在maven-surefire-plugin中设置skip=true,这代表着在编译时跳过了测试类,在执行的时候也跳过过测试类。
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>javax.tools.JavaCompiler</artifactId> <version>3.0</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.9</version> <configuration> <skip>true</skip> <!-- <skipTests>true</skipTests> --> <!-- 不执行测试用例 --> </configuration> </plugin> </plugins>
d)maven-surefile-plugin插件提供了一个test参数,让用户只运行指定的测试类(测试类是指“包名+类名”)
e)若测试框架是TestNG,则maven-surefire-plugin中可使用参数groups来指定TestCase
相关推荐
通过在`pom.xml`文件中配置依赖,Maven能够自动化构建测试项目,执行测试并生成测试报告。 **TestNG**: TestNG是另一个流行的测试框架,提供了比JUnit更高级的功能,如并发测试、参数化测试、测试套件和报告。...
### Selenium3+Java+Maven+TestNG+ReportNG+SVN+Jenkins自动化测试环境搭建 #### Java环境搭建 **一、安装JDK1.8** - **步骤**: 下载JDK安装包并按照向导指引进行安装,直至安装完成。 **二、配置JDK环境变量** ...
4. **测试执行与报告生成**:运行`mvn test`命令,Maven会自动调用TestNG执行测试,并在完成后生成ExtendReport。你可以通过浏览器打开生成的HTML报告,查看测试的详细结果。 5. **持续集成与自动化**:此项目还...
只需更改`WebDriver`实例化时的参数,即可切换到不同浏览器执行测试。 例如,要使用Chrome浏览器,可以修改为`WebDriver driver = new ChromeDriver();`。记得安装对应浏览器的WebDriver驱动,并确保其版本与浏览器...
10. **生成测试报告**:TestNG会自动生成详细的测试报告,包括测试结果、执行时间等信息,这对于跟踪测试进度和问题定位非常有帮助。 在"FirstAPITest"这个文件中,很可能是包含了一个或多个具体的接口测试用例,每...
首先,Maven是一个项目管理和综合工具,它帮助开发者管理依赖、构建项目、执行测试等。通过在`pom.xml`文件中定义项目依赖,可以轻松引入Selenium、TestNG和其他所需的库,确保所有组件版本的一致性。Maven的生命...
Java+IntelliJ IDEA+Maven+TestNG 环境搭建是...通过以上步骤,你就成功地在 IntelliJ IDEA 中搭建了一个基于 Java、Maven、TestNG 和 Selenium 的自动化测试环境,可以开始编写和执行 Web 应用的自动化测试用例了。
综上所述,这个框架通过组合Selenium、Java、Maven、TestNG、ReportNG和Excel,实现了高度自动化和参数化的测试流程,不仅能够有效地执行测试,还能生成详细的测试报告,提高了测试质量和效率。开发者或测试工程师...
本篇将详细讲解如何使用Java、Maven以及TestNG来构建一个接口自动化测试框架。 首先,让我们了解这三者的核心功能: 1. Java:作为一种强大的面向对象编程语言,Java广泛应用于后端开发和自动化测试。其跨平台的...
在文件名`testcase4_TestNG.mp4`中,很可能是关于如何使用TestNG执行测试用例的视频教程,可能涵盖了如何创建测试类、定义测试方法、设置测试依赖、运行测试套件等内容。观看这样的教程可以帮助理解上述知识点,并...
在本案例中,Selenium录制的脚本被导出为TestNG格式,这样可以利用TestNG的强大功能进行更复杂的测试管理和执行。 4. **Webdriver**: Webdriver是Selenium的一部分,它提供了一种编程接口,用于控制浏览器并进行...
结合Maven(用于构建管理和依赖管理)与 TestNG(用于编写测试用例),可以构建出强大的自动化测试解决方案。本文将详细介绍如何在 Eclipse IDE 中搭建基于 Selenium 2.17.0、Maven 3.0.4 和 TestNG 6.3.1 的自动化...
#框架介绍 selenium+java+... • 使用TestNG作为项目运行框架,方便执行测试用例,生成测试报告 • 使用Xml作为用例管理工具,方便编写测试用例,维护测试脚本 • 使用Ant作为Java的build打包工具,方便项目代码打包
1. **测试类**:包含了`@Test`注解的Java类,这些类包含具体的测试用例,调用Selenium的方法来执行测试步骤。 2. **配置类**:可能包括`@BeforeSuite`、`@AfterSuite`、`@BeforeTest`、`@AfterTest`、`@BeforeClass`...
读者可以右键运行TestNG.xml文件,执行测试用例并生成测试报告。读者可以查看测试报告,了解测试结果。 测试报告 测试报告是自动化测试的重要部分。读者可以查看测试报告,了解测试结果,并根据测试结果进行调整和...
本文主要探讨了在软件测试领域中结合使用Selenium、Java、TestNG与Maven的技术细节及其实现方式。该组合旨在提供一个高效且可扩展的自动化测试框架,用于Web应用程序的功能测试。 #### 二、Selenium 封装与使用 ...
在Jenkins中,Maven插件允许用户直接在构建步骤中执行`mvn install`或`mvn clean test`等命令,确保代码编译、测试和打包。通过配置Maven设置,可以指定本地Maven仓库的位置、远程仓库URL以及Maven的全局设置文件。 ...