之前分享过一期 数据准确性测试【一】,主要是讲的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