微信讀書排版引擎自動化測試方案(4)

發表于:2017-03-10來源:WeRead團隊博客作者:WeRead點擊數: 標簽:微信
有了特征后,我們需要定義差異,就是兩個灰度圖像矩陣的 距離函數 ,如: L0,表示兩個灰度圖像矩陣之間,不一致的像素點的個數 L1,曼哈頓距離或棋

有了特征后,我們需要定義差異,就是兩個灰度圖像矩陣的距離函數,如:

  • L0,表示兩個灰度圖像矩陣之間,不一致的像素點的個數
  • L1,曼哈頓距離或棋盤距離,不一致像素點差值的絕對值之和
  • L2,不一致像素點差值的平方和

我們關心有多少像素點不一致,所以我們這里取 L0距離,即兩個圖像有多少個像素點不一樣,作為差異衡量的指標。

當距離大于10時,我們認為這一頁的排版結果有差異,把它可視化輸出,給開發或者測試同學作為參考。

3. 可視化輸出

檢測到差異后,我們把兩個圖像矩陣灰度化后相減,得到一個新的矩陣,把它歸一化得到差異圖像,如右圖所示:

日常修改2

通過 scheme 生成排版結果

人工測試步驟 2、3 的書籍購買、加入書架、打開書籍、翻頁、截圖等任務,可以利用 Instrument UI Automation 自動測試腳本來模擬人工點擊來完成任務。

但是考慮到 Automation 模擬翻頁、截圖速度慢,且 UI 變更頻繁導致 Automation 腳本后續維護麻煩等問題,所以我們通過提供一個測試 scheme 接口來完成這個任務。

在 App 設置彩蛋的『執行 Scheme 頁面』中,輸入 scheme 并執行后,App 會在后臺對指定書籍購買、加入書架、排版、生成排版結果截圖,并把結果保存在本地磁盤。用戶也可以選擇 AirDrop 到 Mac 上。

原文轉自:http://wereadteam.github.io/2016/08/23/Typesetter/

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97