• TestNG入门教程-4-Testng中注释简介


    本篇来介绍TestNG中的注释,前面我们已经学习了一个注释,那就是“@Test”,也知道它的作用。就是在方法名称上面一行添加这个注释,这个方法就变成了测试用例,一定会被执行。这里,我们介绍下其他的注释的基本使用说明。

    1. @Before和@After 注释

           这两个就比较多,一般用于在测试构件上。关于测试构件以后详细介绍,测试构件一般有测试之前的操作和测试运行之后的清除数据的操作。

    Before分类有@BeforeSuite,@BeforeTest, @BeforeGroups,@BeforeClass,@BeforeMethod

    After分类有@AfterSuite,@ AfterTest, @AfterGroups,@ AfterClass,@ AfterMethod

    很明显,看这些注释名称就大概明白,至少每个注释的范围不同而已。

    举例:

    package com.java.learn;
     
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.BeforeClass;
    import org.testng.annotations.Test;
     
     
    /**
     * create by Anthony on 2017/10/29
     */
    public class TestNG_Demo1 {
     
        @BeforeClass
        public void setUp(){
            System.out.println("启动测试的前提条件准备,一般放这个方法中");
        }
     
        @AfterClass
        public void tearDown(){
            System.out.println("测试运行结束后的步骤,一般是恢复环境到测试开始之前的状态");
        }
        @Test
        public void test1(){
     
            System.out.println("Hello");
        }
     
    }
    

      

    2. @DataProvider注释

    标记一个方法是用来给其他测试方法提供数据的方法。要求该方法必须返回是object[][].

    3. @Factory

    标记这个方法是一个工厂,方法必须返回的是一个对象。

    4. @Listeners

    在一个测试方法上定义一个监听。例如Selenium自动化测试中需要用到这个事件监听功能,方便我们输出日志。

    5. @Parameters

    描述了如何给一个测试方法传提参数。

    6. @Test

    在@Test下有很多选项可以设置,例如用例之间的依赖关系等。

    这里举例一个@Parmeters

    基于TestNG测试用例内容如下:

    package com.java.learn;
     
    import com.sun.tracing.ProviderName;
    import org.testng.annotations.*;
     
     
    /**
     * create by Anthony on 2017/10/29
     */
    public class TestNG_Demo1 {
     
        @Test
        @Parameters({"Browser", "Server"})
        public void test1(String browser, String server){
            System.out.println("Hello");
            System.out.println("这次启动浏览器是: "+browser+" 测试服务器地址是: "+server);
        }
    }
    

      

    项目根目录下的testng.xml内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Default Suite">
        <parameter name="Browser" value="Chrome" />
        <parameter name="Server" value="https://www.baidu.com" />
        <test name="Java_Learn">
          <classes>
              <class name="com.java.learn.TestNG_Demo1"/>
             <!-- 添加不同测试类文件 -->
     
          </classes>
        </test> <!-- Java_Learn -->
    </suite> <!-- Default Suite -->
     
    

      

    然后回到运行testng.xml,观察输出结果,发现配置在testng.xml中的参数已经成功地传入到测试方法中。其他的注释,以后遇到再写例子。主要是对这几个注释有点印象就可以,其实真实测试中用到最多的还是@Test这注释,在这个注释下有很多个选项来组合帮助我们解决一些用例执行的问题。接下来的文章,我们慢慢来学习@Test下的一些属性,重点介绍下@Test注释下的一些属性。

    原文:https://blog.csdn.net/u011541946/article/details/78472569

  • 相关阅读:
    POJ-1700 Crossing River
    C++操作符new-动态存储空间分配
    POJ-3978-Primes
    POJ-1316-Self Numbers
    浅谈二维数组在传参中的使用
    OneToMany与ManyToOne的属性
    jquery的学习
    struts2常用标签
    Struts2.xml中result type属性说明
    监听器Listener
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/14467633.html
Copyright © 2020-2023  润新知