testng笔记

1、常用的注解

使用testng需要在pom文件中引入的依赖

<dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.11</version>
            <scope>compile</scope>
        </dependency>
  1. @Test 表示这是一个测试方法
  2. beforeSuit:测试套件在beforeClass之前执行
    beforeClass:这是在类执行之前执行
    beforeMethod:这是在方法执行之前运行的
    Test:这是第一个测试方法
    afterMethod:这是在方法执行之后运行的
    beforeMethod:这是在方法执行之前运行的
    Test这是第二个测试方法
    afterMethod:这是在方法执行之后运行的
    afterClass:这是在类执行之后执行
    afterSuit:测试套件在afterClass之后执行
    在这里插入图片描述

2、套件测试testsuit

1、最重要创建一个xml文件名字随意,最后运行的时候运行的是这个文件,文件就是简单的xml文件;

<?xml version="1.0" encoding="utf-8" ?>
<!--执行的是suit中的内容,并且是按照test的顺序-->
<suite name="test">
    <test name="login">
<!--        执行的类按照顺序执行,并且其中包含同一个SuitConfig-->
        <classes>
            <class name ="com.course.testng.suit.SuitConfig"/>
            <class name ="com.course.testng.suit.LoginTest"/>
        </classes>
    </test>
    <test name="pay">
        <classes>
            <class name ="com.course.testng.suit.SuitConfig"/>
            <class name ="com.course.testng.suit.PayTest"/>
        </classes>
    </test>
</suite>

SuitConfig代码

public class SuitConfig {
    @BeforeSuite
    public void beforeSuit(){
        System.out.println("before Suit运行了");
    }
    @AfterSuite
    public void afterSuit(){
        System.out.println("after Suit运行了");
    }
    @BeforeTest
    public void beforeTest(){
        System.out.println("beforeTest执行");
    }
    @AfterTest
    public void afterTest(){
        System.out.println("afterTest执行");
    }
}

两外两个就是一个@test的方法
执行结果
在这里插入图片描述

3、忽略测试ignore

在这里插入图片描述

4、testng组测试

1、把方法级别分组测试,只针对某些相同分组方法生效。例子如图
public class GroupsOnMethoud {

 public class GroupsOnMethoud {

    @Test(**groups = "server"**)
    public void test1(){
        System.out.println("这是服务端组的测试方111");
    }

    @Test(groups = "server")
    public void test2(){
        System.out.println("这是服务端组的测试方2222");
    }

    @Test(groups = "client")
    public void test3(){
        System.out.println("这是客户端组的测试方333");
    }

    **@BeforeGroups("server")**
    public void beforeGrouponserver(){
        System.out.println("在服务端组运行之前运行");
    }

    @AfterGroups("server")
    public void afterGrouponserver(){
        System.out.println("在服务端组运行之后运行");
    }
}

在服务端组运行之前运行
这是服务端组的测试方111
这是服务端组的测试方2222
在服务端组运行之后运行
这是客户端组的测试方333

2、类分组测试,把类文件分组测试
创建几个类在类中标注是哪些分组@Test(groups = “stu”)
然后创建xml文件控制执行哪些分组也就是这些分组下的类

**@Test(groups = "stu")**
public class GroupOnclass1 {
    public void stu1(){
        System.out.println("GroupOnclass1中的stu1");
    }
    public void stu2(){
        System.out.println("GroupOnclass1中的stu2");
    }

}
**@Test(groups = "teacher")**
public class GroupOnclass3 {
    public void teacher1(){
        System.out.println("GroupOnclass3中的teacher1");
    }
    public void teacher2(){
        System.out.println("GroupOnclass3中的teacher2");
    }
}
**<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >**
<suite name="suitname">
    <test name="onlyRunStu">
        **<groups>
            <run>
                <include name="stu"/>
            </run>
        </groups>**
        <classes>
            <class name="com.course.testng.groups.GroupOnclass1" />
            <class name="com.course.testng.groups.GroupOnclass2" />
            <class name="com.course.testng.groups.GroupOnclass3" />
        </classes>

    </test>
</suite>

5、testng异常测试

什么时候用到异常测试?就是当我们的期望结果是一个异常的时候
在这里插入图片描述
6、依赖测试
如果依赖的方法异常了则该方法就没办法执行了
在这里插入图片描述

7、传参测试

1、首先创建一个方法使用参数,然后创建xml文件为参数传值
在这里插入图片描述
在这里插入图片描述
2、使用dataaprovider属性传值如图
在这里插入图片描述
dataaprovider支持根据方法来进行传参
在这里插入图片描述

8、多线程测试

1、使用注解的方式实现,如果参数不与其他方法关联建议使用,如果关联不建议使用

public class MulitThreadAnnotion {
    //invocationCount是线程数,其中默认的线程池是1;threadPoolSize是指定的线程池数
    @Test(invocationCount = 10,threadPoolSize = 3)
    public void test1(){
        System.out.println("线程执行");
        System.out.printf("线程id:%s%n",Thread.currentThread().getId());
    }
}

2、使用xml实现多线程
首先创建需要测试的方法,然后创建控制线程的xml文件
在这里插入图片描述
在这里插入图片描述

9、超时测试timeout

响应超过了设置的时间就会抛出异常
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值