數據準確性測試之【一】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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章