圖像對比在大數(shù)據(jù)功能性測試中的應(yīng)用

本文章轉(zhuǎn)載于搜狗測試

測試需求

日常任務(wù)中涉及到一些和線上樣式對比的需求脓匿,如無線resin版本升級,需要驗證下升級后頁面樣式與線上升級之前的版本頁面樣式展現(xiàn)是否一致渔隶,由于無線搜索涉及到的query較多御蒲,且不同query對應(yīng)的結(jié)果樣式差別較大,因此通過人工的方式來比較幾乎是不可能的平委,那如何解決這個問題呢?

技術(shù)解決方案

PhantomJS+圖片對比實現(xiàn)無線網(wǎng)頁樣式與線上樣式驗證夺谁。

涉及到的技術(shù)工具:Python廉赔、Phantomjs、Beyond Compare匾鸥。

PhantomJS簡介

先介紹下什么是PhantomJS蜡塌,PhantomJS 是一個基于 WebKit 的服務(wù)器端 JavaScript API。它全面支持web而不需瀏覽器支持勿负,其快速岗照,原生支持各種Web標準: DOM 處理, CSS 選擇器, JSON, Canvas, 和 SVG。說白了笆环,PhantomJS就是一個沒有UI的瀏覽器。其中頁面中的翻動厚者、點擊需要通過代碼實現(xiàn)躁劣。目前PhantomJS已經(jīng)在網(wǎng)絡(luò)爬蟲、web自動測試得到了廣泛應(yīng)用库菲。這個時候有人就會提出疑問了账忘,一個都沒有UI的瀏覽器,怎么實現(xiàn)圖片對比呢熙宇?請看下面的介紹鳖擒。

Beyond Compare簡介

Beyond Compare是一套由Scooter Software推出的軟件,主要用途是對比兩個文件夾或者文件烫止,并將差異以顏色標示蒋荚。

腳本的設(shè)計過程:

1、設(shè)置UA馆蠕,可以根據(jù)我們自己的需求來配置不同的UA;

2期升、 分別配置無線前端線上、線下的url互躬,通過在本機設(shè)置host將wap.sogou.com配置成線下的測試機IP播赁;

配置線上無線前端的url:

配置線下無線前端的測試url:

3、 實現(xiàn)截屏功能吼渡,并保存圖片到本地容为;

4、 實現(xiàn)線上、線下圖片對比功能坎背,將線上url截圖和線下url截圖進行對比替劈,并打印出對比結(jié)果。如果完全一致返回結(jié)果1沼瘫,如果存在差異返回浮點數(shù)抬纸,表示兩張圖片的相似度。

5耿戚、 部分測試結(jié)果如下:

測試結(jié)果驗證

通過腳本湿故,發(fā)現(xiàn)了不同的圖片,那如何來驗證呢膜蛔?

推薦一款圖片對比的軟件:Beyond Compare坛猪,可以對比失敗的case具體有什么異同, 如第一個case:

上面兩張為原圖皂股,下面一張為對比后的結(jié)果墅茉。

可以看到線上的環(huán)境中有一個廣告,線下環(huán)境中沒有展現(xiàn)呜呐,最終影響了圖片對比度就斤,由于廣告每次返回的內(nèi)容有可能不一致,在某些情況下廣告的展現(xiàn)不在測試范圍之內(nèi)蘑辑,PhantomJS可以在訪問url之后調(diào)用js將線上廣告結(jié)果的div隱藏掉洋机,方法如下:

A)定義js:

B)執(zhí)行js:

執(zhí)行js后再將圖片對比,發(fā)現(xiàn)case通過:

再次用Beyond Compare對比下洋魂,效果如下:

總結(jié)下該方法的優(yōu)點:

1绷旗、case設(shè)計幾乎沒有門檻,只要有query就可實現(xiàn)副砍,不用檢測頁面元素衔肢;

2、case失敗后定位問題非常好定位豁翎,直接對比圖片即可角骤;

3、一個case可以驗證結(jié)果頁中的所有結(jié)果谨垃,覆蓋面大启搂;

4、效率較人工檢驗有很大提高刘陶,一個query整體時間花銷在2s左右胳赌,完全一致的case不再需要人工校驗,只需要關(guān)注異常case匙隔,節(jié)省了大量的測試時間疑苫;

5、個別case人工不易發(fā)現(xiàn),比如我們對比結(jié)果的第六個query捍掺,對比度結(jié)果為0.86撼短,如果人工比較的話不易察覺,對比如下圖:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挺勿,一起剝皮案震驚了整個濱河市曲横,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌不瓶,老刑警劉巖禾嫉,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚊丐,居然都是意外死亡熙参,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門麦备,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孽椰,“玉大人,你說我怎么就攤上這事凛篙∈蜇遥” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵呛梆,是天一觀的道長膀捷。 經(jīng)常有香客問我,道長削彬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任秀仲,我火速辦了婚禮融痛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘神僵。我一直安慰自己雁刷,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布保礼。 她就那樣靜靜地躺著沛励,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炮障。 梳的紋絲不亂的頭發(fā)上目派,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音胁赢,去河邊找鬼企蹭。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的谅摄。 我是一名探鬼主播徒河,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼送漠!你這毒婦竟也來了顽照?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤闽寡,失蹤者是張志新(化名)和其女友劉穎代兵,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體下隧,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡奢人,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了淆院。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片何乎。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖土辩,靈堂內(nèi)的尸體忽然破棺而出支救,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布脾还,位于F島的核電站誊抛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贬堵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一结洼、第九天 我趴在偏房一處隱蔽的房頂上張望黎做。 院中可真熱鬧,春花似錦松忍、人聲如沸蒸殿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宏所。三九已至,卻和暖如春摊溶,著一層夾襖步出監(jiān)牢的瞬間爬骤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工莫换, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盖腕,地道東北人赫冬。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像溃列,于是被迫代替她去往敵國和親劲厌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 本文章轉(zhuǎn)載于搜狗測試 在互聯(lián)網(wǎng)應(yīng)用高速發(fā)展的時代,為了提供高可用听隐、安全补鼻、高效的服務(wù),發(fā)布應(yīng)用前會從技術(shù)的角度對后臺...
    夜境閱讀 2,049評論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理雅任,服務(wù)發(fā)現(xiàn)风范,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 總有一千萬種不甘 好不容易揮舞了青春 卻背棄了理想 又背棄了現(xiàn)實 走向了盛夏 但像夏蟬瀕臨初秋 在這好似溫暖的冬日...
    蘇shi閱讀 227評論 1 4
  • 一對夫婦沪么,婚后不久懷孕了硼婿,全家歡喜異常,細心呵護禽车,滿懷期待寇漫。天有不測風(fēng)云,臨近預(yù)產(chǎn)期時太太卻不慎摔倒殉摔,緊急送到醫(yī)院...
    賢春閱讀 309評論 0 0
  • 本文為作者根據(jù)日常使用結(jié)合Gson源碼注釋及wiki所作的原創(chuàng)內(nèi)容州胳,轉(zhuǎn)載請注明出處。 該系列其它文章 你真的會用G...
    怪盜kidou閱讀 78,171評論 119 213