`

Maven+TestNG执行测试

阅读更多

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

分享到:
评论

相关推荐

    java+selenium+maven+testng自动化测试框架实例(实际项目)

    通过在`pom.xml`文件中配置依赖,Maven能够自动化构建测试项目,执行测试并生成测试报告。 **TestNG**: TestNG是另一个流行的测试框架,提供了比JUnit更高级的功能,如并发测试、参数化测试、测试套件和报告。...

    全网最全Selenium3+Java+Maven+TestNG+ReportNG+SVN+Jenkins自动化测试环境搭建

    ### Selenium3+Java+Maven+TestNG+ReportNG+SVN+Jenkins自动化测试环境搭建 #### Java环境搭建 **一、安装JDK1.8** - **步骤**: 下载JDK安装包并按照向导指引进行安装,直至安装完成。 **二、配置JDK环境变量** ...

    maven+testng+extenreport项目

    4. **测试执行与报告生成**:运行`mvn test`命令,Maven会自动调用TestNG执行测试,并在完成后生成ExtendReport。你可以通过浏览器打开生成的HTML报告,查看测试的详细结果。 5. **持续集成与自动化**:此项目还...

    Selenium2.0+ Maven+TestNG

    只需更改`WebDriver`实例化时的参数,即可切换到不同浏览器执行测试。 例如,要使用Chrome浏览器,可以修改为`WebDriver driver = new ChromeDriver();`。记得安装对应浏览器的WebDriver驱动,并确保其版本与浏览器...

    Httpclient+testng接口测试小例子

    10. **生成测试报告**:TestNG会自动生成详细的测试报告,包括测试结果、执行时间等信息,这对于跟踪测试进度和问题定位非常有帮助。 在"FirstAPITest"这个文件中,很可能是包含了一个或多个具体的接口测试用例,每...

    Maven+Selenium+TestNG+TestNG-xslt实现数据驱动测试框架

    首先,Maven是一个项目管理和综合工具,它帮助开发者管理依赖、构建项目、执行测试等。通过在`pom.xml`文件中定义项目依赖,可以轻松引入Selenium、TestNG和其他所需的库,确保所有组件版本的一致性。Maven的生命...

    java+idea+maven+testng环境搭建

    Java+IntelliJ IDEA+Maven+TestNG 环境搭建是...通过以上步骤,你就成功地在 IntelliJ IDEA 中搭建了一个基于 Java、Maven、TestNG 和 Selenium 的自动化测试环境,可以开始编写和执行 Web 应用的自动化测试用例了。

    selenium3+java+Maven+TestNG+ReportNG+Excel自动化参数测试框架源码

    综上所述,这个框架通过组合Selenium、Java、Maven、TestNG、ReportNG和Excel,实现了高度自动化和参数化的测试流程,不仅能够有效地执行测试,还能生成详细的测试报告,提高了测试质量和效率。开发者或测试工程师...

    Java+Maven+TestNG参考案例

    本篇将详细讲解如何使用Java、Maven以及TestNG来构建一个接口自动化测试框架。 首先,让我们了解这三者的核心功能: 1. Java:作为一种强大的面向对象编程语言,Java广泛应用于后端开发和自动化测试。其跨平台的...

    selenium+java+testng+maven测试用例执行

    在文件名`testcase4_TestNG.mp4`中,很可能是关于如何使用TestNG执行测试用例的视频教程,可能涵盖了如何创建测试类、定义测试方法、设置测试依赖、运行测试套件等内容。观看这样的教程可以帮助理解上述知识点,并...

    selenium+testng页面测试

    在本案例中,Selenium录制的脚本被导出为TestNG格式,这样可以利用TestNG的强大功能进行更复杂的测试管理和执行。 4. **Webdriver**: Webdriver是Selenium的一部分,它提供了一种编程接口,用于控制浏览器并进行...

    eclipse下Selenium2.0+-Maven+TestNG环境搭建

    结合Maven(用于构建管理和依赖管理)与 TestNG(用于编写测试用例),可以构建出强大的自动化测试解决方案。本文将详细介绍如何在 Eclipse IDE 中搭建基于 Selenium 2.17.0、Maven 3.0.4 和 TestNG 6.3.1 的自动化...

    selenium+java+Maven-TestNG+reportNG框架代码

    #框架介绍 selenium+java+... • 使用TestNG作为项目运行框架,方便执行测试用例,生成测试报告 • 使用Xml作为用例管理工具,方便编写测试用例,维护测试脚本 • 使用Ant作为Java的build打包工具,方便项目代码打包

    Selenium+TestNG 框架的WEB自动化源码

    1. **测试类**:包含了`@Test`注解的Java类,这些类包含具体的测试用例,调用Selenium的方法来执行测试步骤。 2. **配置类**:可能包括`@BeforeSuite`、`@AfterSuite`、`@BeforeTest`、`@AfterTest`、`@BeforeClass`...

    idea_testng+maven+selenium.docx

    读者可以右键运行TestNG.xml文件,执行测试用例并生成测试报告。读者可以查看测试报告,了解测试结果。 测试报告 测试报告是自动化测试的重要部分。读者可以查看测试报告,了解测试结果,并根据测试结果进行调整和...

    selenium+java+testng+maven

    本文主要探讨了在软件测试领域中结合使用Selenium、Java、TestNG与Maven的技术细节及其实现方式。该组合旨在提供一个高效且可扩展的自动化测试框架,用于Web应用程序的功能测试。 #### 二、Selenium 封装与使用 ...

    jenkins插件maven+git+html报表展示

    在Jenkins中,Maven插件允许用户直接在构建步骤中执行`mvn install`或`mvn clean test`等命令,确保代码编译、测试和打包。通过配置Maven设置,可以指定本地Maven仓库的位置、远程仓库URL以及Maven的全局设置文件。 ...

Global site tag (gtag.js) - Google Analytics