testng自动化框架之注解和套件

最近面试老是问起testng 相关问题 由于很久不怎么玩,忘得也差不多了 正好这段时间拾起来好好总结再学习下 

1.首先说下 什么testng  

定义 :testng 他和junit比 更加易用、强大,且支持注解、分组、依赖、参数数、多线程组织自动化脚本 这么一句话 其实ng 就是下一代的意思 

优点:自带非常漂亮的html格式报告 ; 

           支持多线程测试;

           支持日志输出模式

         支持多种注解 如 test 、method、class 、suiite    以及groups 分组   depends依赖测试 参数 (Parameters  、DataProvider)

 执行顺序:

   suite  --> class --->method --->test 

2.下面是注解代码展示

 1 public class TestApi {
 2     // 先执行suite -->class --->method--->test
 3   @Test
 4   public void test1() {
 5       System.out.println("第一个test测试");
 6   }
 7   @BeforeMethod
 8   public void beforMethod() {
 9       System.out.println("先执行class 后面是 beforeMethod方法");
10   }
11   @AfterMethod 
12   public void afterMethod(){
13       System.out.println("再执行beforeMethod方法");
14   }
15   @BeforeClass
16   public void beforeclass() {
17       System.out.println("前面是sutil再执行beforeclass类后面是method");
18   }
19   @AfterClass
20   public void afterclass(){
21       System.out.println("再执行afterclass类");
22   }
23   @BeforeSuite
24   public void beforesuite() {
25       System.out.println("先执行beforesutil集合套件后面是afterclass");
26   }
27   @AfterClass
28   public void aftersuite(){
29       System.out.println("再执行beforesutil 集合套件");
30   }
31 }
View Code

注解输出报告模式

3.测试套件  suite

首先是新建个包名为com.testng.API.Suite,下面是三个类  login 登录、Pay 支付、SuiteCongfig 配置

 

 

 log 类

package com.testng.API.Suite;

import org.testng.annotations.Test;

public class login {
    @Test
    public void login() {
        System.out.println("login success");
    }
    

}
View Code

Pay类

package com.testng.API.Suite;

import org.testng.annotations.Test;

public class Pay {
    @Test
    public void pay(){
        System.out.println("pay success");
    }

}
View Code

SuiteConfig

package com.testng.API.Suite;

import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;

public class SuiteConfig {
    @BeforeSuite
    public void beforeSuite(){
        System.out.println("执行打印beforeSuite");
    }
    @AfterSuite
    public void afterSuite(){
        System.out.println("执行打印afterSuite");
    }
}
View Code

后面是在项目右键 new个文件为resouce 

 

 后面再resouce new个suite.xml

 

在suite.xml 上 写上xml peizhi文件  

 1 <?xml version="1.0" encoding="UTF-8"?> 
 2 <suite  name="test">
 3    <test  name="login">
 4       <classes>
 5          <class name="com.testng.API.Suite.SuiteConfig"/>
 6          <class name="com.testng.API.Suite.login"/>
 7       </classes>
 8    </test>
 9    
10     <test  name="pay">
11       <classes>
12          <class name="com.testng.API.Suite.SuiteConfig"/>
13          <class name="com.testng.API.Suite.Pay"/>
14       </classes>
15    </test>
16 
17 </suite>
View Code

结果:

 

 

       

         

 

posted @ 2020-04-12 14:04  barrytest  阅读(205)  评论(0编辑  收藏  举报