• TestNG+maven+idea 环境基本使用


    一起学习TestNg

    官网:https://testng.org/doc/index.html

    一、环境搭建

    这里选择idea+maven  也是比较主流的

    idea 和 maven 安装配置不在讲解

    这里使用testng 此版本  其他版本可以去maven中央仓库找找

    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.14.3</version>
        <scope>test</scope>
    </dependency>

    1.1 配置到pom.xml 文件下,然后拉到本地仓库

    导入完成之后就可以使用了,testng 主要学习他里面一些注解 和 执行流程

    TestNG的主要特点:注解

    1. TestNG使用Java和面向对象的功能
    2. 支持综合类测试(单元测试、集成测试)
    3. 灵活的运行时配置(testng.xml)
    4. 支持依赖测试方法,并行测试,负载测试,局部故障
    5. 支持多线程测试
    6. 支持数据驱动的测试
    7. 可扩展

    TestNG使用基本步骤
    1. 编写测试代码
    2. 编写配置文件,testng.xml
    3. 运行测试程序

    这是他的以下注解:

    当我们使用一个 注解@Test 的时候 报红了 找不到 如下例:

    这是什么原因那 ?

    在pom.xml文件引用testng的时候,有个标签<scope>test</scope>限制了只能在test目录下使用

    在POM 4中,<dependency>中引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
    compile,缺省值,适用于所有阶段,会随着项目一起发布。
    provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
    runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
    test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
    system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

    解决:所以只需要将上面pom.xml文件中的<scope>test</scope>去掉或者改成<scope>compile</scope>

    二、注解基本使用

    执行一个测试用例

    @Tset  :标记一个类或方法作为用例一部分

    执行多个用例

     

    注解:

    @BeforeMethod:注解的方法 将在每一个测试方法之前执行

    @AfterMethod :注解的方法 将在每一个测试方法之后执行

     

    注解执行顺序: 

    TestNG中测试的级别
      Suite:最上层的元素
      Test:次一级的元素
      Class:测试类
      Method:测试类中的方法

    import org.testng.annotations.*;
    
    
    
    public class BATest {
    
        @BeforeSuite
        public static void bfSuite(){
            System.out.println("测试套件++++开始");
        }
    
        @AfterSuite
        public static void afSuite(){
            System.out.println("测试套件-----结束");
        }
    
        @BeforeClass
        public static void bfCalss(){
            System.out.println("测试这个类最先执行+++++");
        }
    
        @AfterClass
        public static void afCalss(){
            System.out.println("测试这个类最后执行------");
        }
    
    
        @BeforeTest
        public static void bfTest(){
            System.out.println("测试之前的一些准备");
        }
    
        @AfterTest
        public static void afTest(){
            System.out.println("测试完成后的一些结束");
        }
    
    
        @BeforeMethod
        public static void bfMethood(){
            System.out.println("将每执行一个测试方法前执行");
        }
    
        @AfterMethod
        public static void afMethood(){
            System.out.println("将每执行一个测试方法后执行");
        }
    
        @Test
        public static void testCase01(){
            System.out.println("测试用例一执行");
        }
    
    
        @Test
        public static void testCase02(){
            System.out.println("测试用例二执行");
        }
    
    
    }
  • 相关阅读:
    PHP生成pdf文档
    PHP将数据库数据批量生成word文档
    三个常用的PHP图表类库
    Javascript——(1)
    python学习HTML之CSS(2)
    python学习HTML之CSS
    python学习之HTML
    python学习之rabbitmq
    第10周15/16/17
    多进程
  • 原文地址:https://www.cnblogs.com/niunai/p/14925712.html
Copyright © 2020-2023  润新知