自动化测试由浅入深--TestNG了解熟悉

上一篇文章讲述了,TestNG安装,以及简单的跑了一个小的脚本。这一章讲讲TestNG的注解,层级等。

  TestHG常见的用例组织结构为,Tset Suite由多个Test组成。Test由多个Class组成,而一个Class由多个方法构成。我们可以配置testng.xml的层级结构如下:

<suite>

          <test>

                <classses>

                    <method>

                    </method>

               </classes>

        </test>

</suite>

运行不同层级,可通过不同注解,实现不同的用例执行工作。TestNG常见注解

  1. @BeforeSuite:此注解方法会在当前测试集合中任何一测试用例开始运行前执行。

  2. @AfterSuite:此注解方法会在当前测试集合中所有测试用例运行结束后执行。

  3. @BeforeTest @AfterTest @BeforeClass @AfterClass @BeforeMethod @AfterMethod,解释都和上面一致。

    4. @Test,此注解可以理解为一个测试用例。为了更客观的表示上述注解,我们还是写一段代码看看吧。新建一个java类,名字随便起。就叫Testzhu。代码如下:

package cn.autotest;

 

import org.junit.AfterClass;

import org.testng.annotations.AfterMethod;

import org.testng.annotations.AfterSuite;

import org.testng.annotations.BeforeClass;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.BeforeSuite;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.Test;

 

public class Testzhu {

   @Test

   //写一个方法叫当中测试用例

   public void testcase1(){

   System.out.print("执行测试用例1哟!\n");

   }

   

   @AfterMethod

   // 方法后执行

   public void aftermethod(){

   System.out.print("测试方法结束后运行!\n");

   

   }

   //第二条测试用例

   @Test

   public void testcase2(){

   System.out.print("执行测试用例2哟!\n");

   }

   @AfterClass

   

   public void afterclass(){

   System.out.print("当前测试类最后一个测试方法结束后执行!\n");

   

   }

   

   @BeforeSuite

   public void beforsuite(){

   System.out.print("当前测试集合中所有测试程序开始运行前执行!\n");

   }

   

   @BeforeTest

   public void befortest(){

   System.out.print("当前测试类中的test开始前运行!\n");

   }

   @AfterSuite

   public void aftersuite(){

   System.out.print("当前测试集合中所有测试程序运行结束后执行!\n" );

   }

   @BeforeMethod

   public void beformethod(){

   System.out.print("测试方法开始前运行!\n");

   }

   

   @BeforeClass

   public void beforclass(){

   System.out.print("当前测试类第一个测试方法开始前执行!\n");

   

   }

}

执行结果:

当前测试集合中所有测试程序开始运行前执行!

当前测试类中的test开始前运行!

当前测试类第一个测试方法开始前执行!

测试方法开始前运行!

执行测试用例1哟!

测试方法结束后运行!

测试方法开始前运行!

执行测试用例2哟!

测试方法结束后运行!

PASSED: testcase1

PASSED: testcase2

 

===============================================

    Default test

    Tests run: 2, Failures: 0, Skips: 0

===============================================

 

当前测试集合中所有测试程序运行结束后执行!

 

===============================================

Default suite

Total tests run: 2, Failures: 0, Skips: 0

===============================================

大家可以看到,我故意把顺序写乱,但是仍然按照一定的顺序被执行。

今天就讲到这里吧,希望大家关注转发。码字不易。欢迎关注 公 众 号 王大哥自动化测试 or 扫 码

 

posted @ 2019-10-08 17:29  王大哥自动化测试  阅读(312)  评论(0编辑  收藏  举报