test-ng使用篇

1.安装testng 并且添加至java build path中

效果如图:
test-ng使用篇_第1张图片
image.png

2.项目pom文件中添加依赖

效果如图:


test-ng使用篇_第2张图片
image.png

3.使用时,使用时方法添加注解,添加import引用
test-ng使用篇_第3张图片
image.png

4.使用testng控制脚本执行顺序的方法


    
    
    
        
            
                
                    
                
            
        
    

5.顺序执行多个class脚本



    
    
    
        
            >
                
                    
                
            
                        >
                
                    
                
            
        
    

@Test(groups = "database")注解在测试方法上标记分组
xml引用时在test中使用



        
            
                
            
        


    

testng套件运行suite 代表套件运行


   
        
            
            
        
      

testng指定包运行


    
        
             
        
    



testng指定运行要包括或排除某个分组




  
    
        
            
            
        
    
  


testng指定运行要包括或排除某个方法类




  
    
        
        
            
                
                
                
                 -->
            
        
    
  


testng依赖测试
在@Test注释中使用属性dependsOnMethods,或者dependsOnGroups
alwaysRun = true添加则表示顺序依赖及时依赖方法出现问题也正常执行默认为强制依赖依赖方法出现异常则不执行后续方法

import org.testng.annotations.Test;
public class Test{

@Test
public void method1() {
    System.out.println("This is method 1");
}

@Test(dependsOnMethods = { "method1" })
public void method2() {
    System.out.println("This is method 2");
}

}
表示方法2 执行依赖方法1则先执行方法1
如果method1()失败,则将跳过method2()

testng参数化测试
@parameters可以传一个文件,也可以传一个参数
传文件如下链接
https://www.yiibai.com/testng/parameterized-test.html#article-start

@DataProvider(name = "参数名")读取声明参数 通过@Test(dataProvider="参数名") 引用
更可以根据测试方法,根据分组名称名称传递不同参数

详细方式
https://www.yiibai.com/testng/parameterized-test.html#article-start

package com.yiibai;

import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class TestParameterDataProvider {

    @Test(dataProvider = "provideNumbers")
    public void test(int number, int expected) {
        Assert.assertEquals(number + 10, expected);
    }

    @DataProvider(name = "provideNumbers")
    public Object[][] provideData() {

        return new Object[][] { { 10, 20 }, { 100, 110 }, { 200, 210 } };
    }

}

读取文件的如:

 @DataProvider(name="basicData1")
        public  static Object[][] getCsvData(){
            Object[][] data=CSVReader.readCSV("D:\\softwaredate\\myeclipseworkspace\\Medicine\\src\\resources\\testNG\\SettingDate.csv");
            return data;
        }
        
          
      
      @Test(dataProvider="basicData1")
      public void caseentry(String baseUrl,String topic,String username,String password,String Blindman,String Blindmanname,String bigstorekeeper,String bigstorekeepername,String central,String centralname,String Blindmanemail,String centralemail,String bigstorekeeperemail,String filepath) throws Exception {


}

testng+selenium做负载测试
@Test(invocationCount = 次数) 通过invocationCount指定运行次数

@Test(threadPoolSize)指定几个线程池执行方法
具体链接
https://www.yiibai.com/testng/testng-selenium-load-testing.html

testng 忽略测试:
@Test(enabled = false)注解在测试方法上,则会绕过这个未准备好测试的测试用例
testng 超时测试
@Test(timeOut = 5000)时间毫秒为单位
testng 分组测试

你可能感兴趣的:(test-ng使用篇)