編輯:關於Android編程
系列回顧:本系列主要從開發的角度介紹UiAutomator的使用,總共包括三篇:
基礎入門: Android自動化測試之UiAutomator(一)
技巧篇: Android自動化測試之UiAutomator(二)(未完成)
比較工具篇 :Android自動化測試之UiAutomator(三)---比對測試截圖
本文是第三篇。
以下是正文:
本文適合所有以圖片作為輸出的自動化開發工具(不僅限於Android)。
當我們進行一組自動化測試後,除了通過斷言,往往還會采用截圖比對的方式分析測試結果,這種情況下人力再次成為效率的瓶頸,能否通過一定的方式對圖片進行預處理,將Diff 的區域標出,方便開發人員進行分析呢?
本文的方法是通過一個bash腳本獲得圖片的不同之處,並生成一個可視化的html文件。以幫助開發/測試人員快速分析測試結果。
適用環境:ubuntu,其他平台未測試。
依賴程序:imagemagick
安裝方法:sudo apt-get install imagemagick
首先介紹一下ImageMagick,這是一個圖像處理工具,今天我們只會用它的兩個功能:1、圖片比較 2、生成縮略圖。
第一步,我們准備一組基准圖片,用於測試完成後的比對標准。這裡我們將圖片放在/tmp/base目錄下。下圖為我們的示例圖片:
第二步,我們將自動化測試獲得的截圖放在/tmp/new目錄下。下圖為我們測試後獲得的圖片:
接下來我們執行imagemagick的compare命令:
compare -metric AE /tmp/base/test.png /tmp/new/test.png /tmp/result/test.png
執行該命令後我們將獲得一個Diff圖片,如下:
通過該命令,我們將兩張圖片不同的地方高亮顯示了,肉眼確認時只需要關注高亮的部分。
第二步:生成HTML文件,將目錄下所有文件和Diff出的圖片做成縮略圖,並以列表的方式顯示:
首先,通過Shell遍歷目錄:
function compare_png(){ for file in ` ls $BASEPATH ` do if [ -d http://blog.csdn.net/xzy2046/article/details/$BASEPATH$file ] then compare_png http://blog.csdn.net/xzy2046/article/details/$BASEPATH$file else fi fi done
diff_count=`compare -metric AE http://blog.csdn.net/xzy2046/article/details/$BASEPATH$file http://blog.csdn.net/xzy2046/article/details/$NEWPATH$file http://blog.csdn.net/xzy2046/article/details/$EXPORTPATH$file 2>&1`
然後通過imagemagick 的convert命令獲取寬度為160像素的縮略圖,這些縮略圖將用於HTML文件的顯示
convert -thumbnail 160 http://blog.csdn.net/xzy2046/article/details/$BASEPATH$file http://blog.csdn.net/xzy2046/article/details/$File1 convert -thumbnail 160 http://blog.csdn.net/xzy2046/article/details/$NEWPATH$file http://blog.csdn.net/xzy2046/article/details/$File2 convert -thumbnail 160 http://blog.csdn.net/xzy2046/article/details/$EXPORTPATH$file http://blog.csdn.net/xzy2046/article/details/$File3
最後生成HTML:
echo >>$result_html echo $file>>$result_html echo $diff_count>>$result_html echo Failed>>$result_html echo>>$result_html echo >>$result_html echo >>$result_html echo >>$result_html
第一列為圖片名稱,第二列為差異像素數。三幅圖片分別為基准圖片,測試截圖,和生成的Diff圖片。
Shell腳本下載地址:
http://download.csdn.net/detail/xzy2046/8167831
很多Android手機用戶都喜歡收集APK安裝包並保存在存儲卡內。可是,網上下載的APK大都以英文或亂碼命名,管理起來好不麻煩。那麼,無需借助PC,我們能否
概述2014年,Google攜Android5.X重裝歸來,全新的UI設計和更加優化的性能,令開發者眼前一亮安裝和配置Android5.0開發環境開發Android還得靠
Android Studio代碼著色插件 前言:半個多月沒寫博客了,放了個假期,這人才緩過來神,懶的啥都不想干,可算是明白一句話的意思了:玩物喪志啊!好在公司項
微信小程序 跳轉頁面小程序頁面有2種跳轉,可以在wxml頁面或者js中:1,在wxml頁面中: <navigator url=../index/index>跳