数据准确性测试之【二】前端显示的值、接口返回值和数据库表里的记录

之前分享过一期 数据准确性测试【一】,主要是讲的web页面的值做校验,依靠web自动化、接口自动化的手段,但校验的是后台处理过的数据,并未校验数据库的值,故在这期说下数据库表的值与前端、接口的校验;

具体情景

在这里插入图片描述
图1的 Operation的Action 会打开此条记录的order页面【下图】,可以看到 不同order,其Settlement Price、Fee字段值之和,实际对应前面页面的Current Increased Payable、Current Increased Fee字段值。
在这里插入图片描述
数据库里 关于此2条order的记录:
在这里插入图片描述

为了确定后台逻辑是对是错,才要连接数据库做校验–即拿到表的记录,我们做各种处理后,再和前端显示的数据、接口返回值做断言。

代码实现

数据库拿到这test_day所有的order的list – 把所要用的字段值扔进某个list – 求和;

from Common.TestM import TestM
import pymysql


def t_1b(vendor_id, test_day):
    """数据库查询当前id、test_day 返回Select得到的所有记录处理后的sum"""
    db = pymysql.connect('a', 'b', 'c', 'd')
    cur = db.cursor()
    change_l = TestM().time_change2(test_day)
    sql = "SELECT * FROM abc WHERE vendor_id = %d AND settlement_date < %d AND settlement_date > %d ;" % (vendor_id, change_l[1], change_l[0])
    cur.execute(sql)
    data = cur.fetchall()

    list1 = list()  # 签收订单的 settlementPrice的list
    list2 = list()  # 签收订单的 fee的list

    for d in data:
        list1.append(d['settlementPrice'])
        list2.append(d['fee'])

    cur.close()
    db.close()
    return sum(list1), sum(list2)

接口返回值及用例:

在这里插入图片描述

前端显示的值:
在这里插入图片描述

交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie

发布了78 篇原创文章 · 获赞 24 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/zyooooxie/article/details/101163174