首页 > 其他 > 详细

testNG参数化

时间:2019-04-12 11:06:18      阅读:111      评论:0      收藏:0      [点我收藏+]

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

 

testNG参数化

原文:https://www.cnblogs.com/xueli/p/10694205.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!