• 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怎么做呢?

  • 相关阅读:
    “键鼠耕耘,IT家园”,博客园2010T恤正式发布
    解决jQuery冲突问题
    上周热点回顾(5.316.6)
    博客园电子期刊2010年5月刊发布啦
    上周热点回顾(6.76.13)
    Chrome/5.0.375.70 处理 <pre></pre> 的 Bug
    [转]C# MemoryStream和BinaryFormatter
    [转]Android adb不是内部或外部命令 问题解决
    [转]HttpWebRequest解析 作用 介绍
    财富中文网 2010年世界500强排行榜(企业名单)
  • 原文地址:https://www.cnblogs.com/xueli/p/10694205.html
Copyright © 2020-2023  润新知