zoukankan      html  css  js  c++  java
  • testNG参数化

    听说testNG比junit更好用,记录下

    环境:springboot2.0+testNG6.8+maven+myeclipse

    一 安装

    (1)m'yeclipse安装testNg包,下载testNg包,拷贝到myeclpse目录下

    (2)pom.xml导入testNg的依赖包

    二,基本功能

    (1)一些标注@BeforeClass,BeforeSuite,BeforeMethod,@Test(enabled=false)的执行顺序和junit基本一致的原理

    (2)通过配置文件suite.xml执行suite,这里有个groups分组,包括类分组和方法分组,来灵活制定运行哪些测试case,也和原本预计的没啥区别

    三,参数化

    比较感兴趣额是参数化,2中常用的传参方式

    1)suite.xml配置文件配置parameters,直接执行suite.xml

    注意:这种方法必须执行xml文件,而不是java文件,否则报错

    Parameter 'username' is required by @Test on method pamameterUse1 but has not been marked @Optional or defined

    java代码

        @Parameters({ "username","password" })
        @Test
        public void pamameterUse1(String username,String password){
            System.out.println(username+password);
        }

    suite.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <suite name="Suite">
          <test name="myparam">
                <parameter name="username" value="mili"/>
                <parameter name="password" value="123455"/>
                <classes>              
                    <class name="com.summit.suite.Parameter"></class>
                </classes>
          </test>
    </suite>

    执行suite.xml结果

    mili123455

    ===============================================
    (2)@DaraProvider注解实现传参,可直接执行java文件

        @DataProvider(name="milidata")
        public Object[][] providerData(){
            return new Object[][]{{"wangli","33333"},{"lixiao","44444"}};
            
        }
        @Test(dataProvider = "milidata")
        public void testDataProvider(String name,String pwd){
            System.out.println(name+pwd);
        }

    wangli33333
    lixiao44444
    PASSED: testDataProvider("wangli", "33333")
    PASSED: testDataProvider("lixiao", "44444")

    ===============================================

    (3)日常中需要把参数和脚本分离开,testNg怎么做呢?

  • 相关阅读:
    作业帮:最长连续序列(头部插入)
    作业帮:字符串反转(头部插入)
    作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)
    JVM系列之七:HotSpot 虚拟机
    JVM系列之六:内存溢出、内存泄漏 和 栈溢出
    JVM系列之四:运行时数据区
    JVM系列之五:垃圾回收
    JVM系列之三:类装载器子系统
    JVM系列之二:编译过程
    JVM系列之一:JVM架构
  • 原文地址:https://www.cnblogs.com/xueli/p/10694205.html
Copyright © 2011-2022 走看看