基于testNG的通用数据驱动-DataProvider

本文介绍如何使用testNG的DataProvider实现通用数据驱动,通过在测试方法中指定@DataProvider(name = "createData"),并在DataProvider类中根据方法名从数据库获取测试数据,以实现动态获取外部数据进行自动化测试。
摘要由CSDN通过智能技术生成

    上一篇有提过可以通过DataProvider做数据驱动,通过@Test(dataProvider = "abc"),@DataProvider(name = "abc")来获取指定的测试数据,在缺点是测试数据需要保存在代码中,如果想从外部获取参数,需要一个通用的数据驱动。

     DataProvider 提供了一个方法,DataProvider(Method m),通过入参传入的方法,可以知晓该方法要调用哪个数据,从外部获取到数据后,转为二维数组返回即可。直接上代码~~

    首先我们创建一个通用数据驱动类ExtentTestNGDataProvider,当脚本调用@DataProvider(name = "createData")时,将该方法名传入,获取方法名称,在数据库查到该方法对应的数据,最终返回Object [ ][ ] 格式的结果。

public class ExtentTestNGDataProvider {

    @DataProvider(name = "createData")
    public static Object[][] createData(Method m) throws Exception {
        String casename = m.getName();
        String sql = "select data_json from tb_data where status = 1 and casename = '"+casename+"'";
        List<Map<String, Object>&
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值