数据准确性测试之【一】Web页面相关的字段

我手上有个财务项目要上线,所以部分工作就是数据校验,需要保证前后页面的数据一致【前面页面是汇总,后面是明细】;之前也没做过,现在边摸索实践 边学习总结,分享下:

第一个情景

  1. 首页-Nicepay Total字段 显示的是总额;
    在这里插入图片描述
  2. 点击 上图的Bill Detail ,进入bill 明细页面第一页,Principal Total字段显示 某笔明细的总额;
    在这里插入图片描述
    3.数据有 很多页
    在这里插入图片描述
    校验的原则:所有明细的Principal Total值之和 等于 第1张图Nicepay Total值

思路与实践

在看到这么多明细后,我就彻底死了手工计算的心思;只能搞自动化脚本去跑,我的想法是Web自动化,获取Bill明细页面第一页 Principal Total此字段的所有值,计算sum;跳转下一页,继续获取、计算,直到最后一页;再把得到的sum总值 和首页的Nicepay Total值 做断言;

具体的脚本 我好像没啥能分享的;说下 跳转下一页 的代码:

        for i in range(1, int(self.my_elements(By.CSS_SELECTOR, 'li[class="number"]')[-1].text)):
            self.my_element_wait(By.CSS_SELECTOR, 'button[class="btn-next"]').click()

int(self.my_elements(By.CSS_SELECTOR, ‘li[class=“number”]’)[-1].text) 将所有page这个元素找到,elements这个列表最后一个【即最后一页】;range(最后一页),来确定循环次数;下面click()是点击下一页 >;
在这里插入图片描述

后面和同事说起来的时候,他的思路是 直接用接口来做,会比web简单很多–见下面第二个情景

第二个情景

1.某页面 上面位置 显示了当前时间段的 Total Transactions

在这里插入图片描述
2.此页面的中间位置就显示交易明细,每条明细的 debit 或 credit 加一起是Total;

在这里插入图片描述

3.还是很多页

在这里插入图片描述

思路和实践

使用接口自动化来做,简单些,发送请求,获取返回值;求和、断言;

感觉更没有要分享的,可能唯一要说的是 :请求明细的时候,就不要再像Web分页,直接一口气全部调出来all,即 ‘pageID’: 1, ‘pageSize’: 100000`

【2019-09-20修改】基于安全测试的建议,后台就把所有接口传递的pageSize限制了,最大为200;所以咋整?

可以先发送’pageID’: 1, ‘pageSize’: 200,拿到数据量totalCount;如果是不大于200,不管它;如果很多记录,做个循环,传递新的pageID,再把后面的记录加在一块,就好;

在这里插入图片描述
【2019-11-29修改】循环传pageID,我之前的思路有问题 -> 会多发请求
即 totalCount为400,在循环的时候,range(2, 400//200 + 2) 即 range(2, 2 + 2),实际是有2、3,但是实际的情况是只有2页,400条可以2页放满,故而不合适;解决方法:

ceil() 函数返回数字的上入整数。
在这里插入图片描述
在这里插入图片描述

反思

利用Web自动化、接口自动化,来校验前后页面的数据,主要还是节省人工,把自己从繁杂的手工计算中解脱出来;但这2个情景的核心为 相关字段的数据校验

后面如果还要做类似工作,我肯定选接口这个思路,因为方便很多。

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

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

猜你喜欢

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