testng3 执行测试

说明:本文部分内容来源于网络,侵删

testng可以用以下的方式调用

  1. 命令行
  2. ant
  3. Eclipse
  4. IntelliJ’s IDEA

命令行调用

简单的调用方法:

java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

然而直接使用上述命令,执行后报错:找不到或无法加载主类 org.testng.TestNG。

想要使用命令行调用,需要先设置testng.jar到环境变量…由于命令行使用较少,不做讨论。

mvn 命令

需要使用插件maven-surefire-plugin。参考:https://zhuanlan.zhihu.com/p/50935348

1. 先在pom文件中加入下面段落
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19</version>
                <configuration>
                    <suiteXmlFiles> <suiteXmlFile>testngxml/All.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
</plugin>

suiteXmlFile配置testngxml/的All.xml的是要执行的testng.xml类型的相对路径和文件名称。

2. 执行:mvn clean test

就会执行suiteXmlFile配置的ALl.xml文件。

3. 如果为了支持回归测试/冒烟测试等多种测试场景,有多个testng.xml文件,那么怎么切换呢?
  1. 第一种办法:替换pom文件中的文件名,当做成持续集成时,写个shell脚本,进入pom文件所在目录下,替换pom文件中ALl.xml文件,参数$2=Regression.xml
#! /bin/bash
cd /var/lib/jenkins/workspace/interfaceTest_ScpBusiness/scp-business-interfaceTest
sed -i "s?<suiteXmlFile>testngxml/.*</suiteXmlFile>?<suiteXmlFile>testngxml/$2</suiteXmlFile>?g"  pom.xml
echo $2
  1. 第二种办法:就是不修改pom文件中的suiteXmlFile配置,而是重命名testngxml文件,修改成suiteXmlFile配置的名字。
  2. 第三种办法(不推荐):创建多个pom文件:pom1.xml pom2.xml,它们唯一的区别就是suiteXmlFile配置的testngxml文件名不一致,需要执行哪个testngxml,就运行对应的pom.xml文件。但是因为pom文件还承担者项目的依赖维护,所以不推荐此方式,维护起来太麻烦。
  3. 第四种办法(推荐):将上述pom.xml中的
<suiteXmlFile>testngxml/All.xml</suiteXmlFile>
改成
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>

然后在pom.xml中的properties里加一行

<properties>
		...
		<suiteXmlFile>testng/All.xml</suiteXmlFile>
	</properties>
#	此处All.xml是默认的xml文件,如果执行测试时,不传参数进来,则会执行此文件。

执行mvn clean test -DsuiteXmlFile=testng/Smoke.xml


ant Eclipse IntelliJ’s IDEA 略
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值