zoukankan      html  css  js  c++  java
  • Testng中注释简介

    1. @Before和@After 注释

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

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

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

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

    举例:

     1 package com.java.learn;
     2 
     3 import org.testng.annotations.AfterClass;
     4 import org.testng.annotations.BeforeClass;
     5 import org.testng.annotations.Test;
     6 
     7 
     8 /**
     9 * create by Anthony on 2017/10/29
    10 */
    11 public class TestNG_Demo1 {
    12 
    13 @BeforeClass
    14 public void setUp(){
    15 System.out.println("启动测试的前提条件准备,一般放这个方法中");
    16 }
    17 
    18 @AfterClass
    19 public void tearDown(){
    20 System.out.println("测试运行结束后的步骤,一般是恢复环境到测试开始之前的状态");
    21 }
    22 @Test
    23 public void test1(){
    24 
    25 System.out.println("Hello");
    26 }
    27 
    28 }


    2. @DataProvider注释

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

    3. @Factory

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

    4. @Listeners

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

    5. @Parameters

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

    6. @Test

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

    这里举例一个@Parmeters

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

     1 package com.java.learn;
     2 
     3 import com.sun.tracing.ProviderName;
     4 import org.testng.annotations.*;
     5 
     6 
     7 /**
     8 * create by Anthony on 2017/10/29
     9 */
    10 public class TestNG_Demo1 {
    11 
    12 @Test
    13 @Parameters({"Browser", "Server"})
    14 public void test1(String browser, String server){
    15 System.out.println("Hello");
    16 System.out.println("这次启动浏览器是: "+browser+" 测试服务器地址是: "+server);
    17 }
    18 }


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

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



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

  • 相关阅读:
    Egret白鹭开发小游戏中容易犯的错
    egret之消除游戏开发
    Jmeter学习之— 参数化、关联、断言、数据库的操作
    JMeter学习-031-JMeter 3.0 POST Body Data 中文乱码问题
    Nginx负载均衡的五种策略
    Linux性能监控分析命令(五)—free命令介绍
    Linux性能监控分析命令(四)—top命令介绍
    ssh连接时提示THE AUTHENTICITY OF HOST XX CAN'T BE ESTABLISHED
    Linux性能监控分析命令(二)—sar命令介绍
    jProfiler远程连接Linux监控jvm1运行状态
  • 原文地址:https://www.cnblogs.com/hkgov/p/10021194.html
Copyright © 2011-2022 走看看