美文网首页
Api数据库断言(充值接口)

Api数据库断言(充值接口)

作者: testerPM | 来源:发表于2020-05-10 12:50 被阅读0次

RechargeCase .java代码如下:


package com.lemon.cases;

import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPath;
import com.lemon.pojo.Api;
import com.lemon.pojo.Cases;
import com.lemon.pojo.UseJsonPathAssert;
import com.lemon.utils.DataUtils;
import com.lemon.utils.HttpUtils;
import com.lemon.utils.SQLUtils;

public class RechargeCase extends BaseCase {

    @Test(dataProvider = "datas")
    public void testRecharge(Api api, Cases cases) {
        //数据库前置查询结果
        String  sql=cases.getSql();
        Object BeforeMoney=SQLUtils.Query(sql);
        
        // 获取响应体
        String actualResponseBody = ActualResponseBody(api, cases);// 子类调用父类方法
        // 添加回写
        addWriteBackData(cases, actualResponseBody);
        boolean assertResponseData = AssertResponseData(cases, actualResponseBody);
        System.out.println("响应数据断言结果:"+assertResponseData);
        //数据库后置查询结果
        Object  AfterMoney=SQLUtils.Query(sql);
        if(StringUtils.isNoneBlank(sql)){
            //数据库断言
            boolean assertMoneySql = assertSql( BeforeMoney,    AfterMoney,cases);
            System.out.println("数据库断言结果:"+assertMoneySql);
        }
    }

    public  boolean assertSql(Object BeforeMoney,   Object  AfterMoney,Cases  cases){
        //通过JSONPath获取amount字段值并转成String类型
        //{"member_id":"8051016","amount":"100"}
        String   moneyStr=JSONPath.read(cases.getParams(),"$.amount" ).toString();
        //BigDecimal类型不能直接转成long类型,可以转成String,再转成Double类型
        String BeforeMoneyStr = BeforeMoney.toString();
        String AfterMoneyStr = AfterMoney.toString();
        double BeforeMoneyDouble = Double.parseDouble( BeforeMoneyStr);
        double AfterMoneyDouble = Double.parseDouble( AfterMoneyStr);
        double moneyDouble = Double.parseDouble( moneyStr);
        //返回差额
        return AfterMoneyDouble-BeforeMoneyDouble==moneyDouble;
        
        
    }
    
    
    
    // 数据支持,与test()方法发生关联,提供url和params
    @DataProvider(name = "datas")
    public Object[][] datas() {
        Object[][] datas = DataUtils.getApiandCasesByApiId("3");
        return datas;
    }

}



image.png

相关文章

  • Api数据库断言(充值接口)

    RechargeCase .java代码如下:

  • Pytest实战API测试框架

    Pytest实战API测试框架 功能规划 数据库断言 pymysql -> 封装 环境清理 数据库操作 -> F...

  • mybatis架构介绍

    Mybatis的功能架构 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层...

  • python操作mysql数据库

    Python标准数据库接口为Python DB-API,为开发人员提供了数据库应用编程接口。接口支持多数据库: G...

  • JDBC面试问题与解答

    什么是JDBC API以及何时使用它? Java数据库连接API允许我们使用关系数据库.JDBC API接口和类是...

  • 钱罐子接口文档

    钱罐子接口文档 mobile-api用户中心手机号校验注册登录查询用户信息账户中心绑卡短信绑卡认证充值短信充值认证...

  • MyBatis的功能架构的大体分层

    大体被分为三层 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调...

  • JDBC入门

    JDBC连接数据库 三种连接数据库方式 JDBC接口核心的API Driver接口: 表示java驱动程序接口。所...

  • KEGG API 用法详解上篇

    对于大多数的数据库而言,API接口可以方便的从数据库中检索数据。kegg 数据库的API 链接如下: http:/...

  • python mysql数据库

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编...

网友评论

      本文标题:Api数据库断言(充值接口)

      本文链接:https://www.haomeiwen.com/subject/ukblwhtx.html