
頁面成功,不代表圖片交付正確
獲授權的到達頁測試可能順利取得HTML,商品圖片卻遺失、被替換或不屬於這次活動。只查看img的src屬性,也可能測了一張瀏覽器沒使用的圖片。本篇針對自有或明確授權地區測試中的HTML圖片元素,提供驗收流程,不宣稱已測相容性。
HTML標準定義picture與圖片候選的響應式選圖,currentSrc代表目前圖片URL;圖片損壞時complete也可能為真,不能當成功結論。以下結合瀏覽器訊號、網路紀錄及實際畫面核對。
步驟一:建立地區與顯示情境矩陣
指定核准頁面及圖片角色,例如主視覺、商品縮圖或活動插圖。定義預期商品、活動版本、可接受地區差異與裁切。行動版裁切可能與桌面不同,但必須保留約定商品;規格允許替代圖片時,不要求檔案完全相同。
固定瀏覽器版本、視口、裝置像素比、語言、同意狀態與授權帳號情境,各市場採相同顯示設定。主要案例由新情境開始,保存實際設定;桌面裝置模擬不能直接視為實體手機驗收。
步驟二:先觸發預期載入
用穩定選擇器找到自有樣本元素,例如id為hero-test的img。需要捲入視口才載入時,各組使用一致受控捲動。設定有限等待時間,等相關載入及選圖穩定;太早截圖只是中間狀態,不能證明路由故障。
同意操作或用戶端渲染後會換圖的應用,需保存狀態改變並重新檢查元素。沒觸發延遲載入,不宜直接判缺圖;也不可無限等待以掩蓋可重現的交付問題。
步驟三:取得選用URL並比對請求
在自有樣本用唯讀控制台運算式document.getElementById('hero-test').currentSrc,保存選用URL、原始src、候選清單及相關picture條件。視口改變後再取得選圖結果,不能套用上一次URL。
比對瀏覽器網路紀錄的請求URL、重新導向、最終回應、資源時間,以及來自快取或Service Worker的情況。命令列單獨GET該URL可以協助看伺服器結果,但不重現Cookie、選圖及載入情境,不能取代瀏覽器請求對照。
步驟四:驗證解碼與實際商品
瀏覽器支援圖片decode方法時,在驗收逾時上限內等待document.getElementById('hero-test').decode(),記錄完成或拒絕,再擷取穩定元素查看內容。解碼成功仍不代表商品或活動正確。
naturalWidth及naturalHeight記為瀏覽器回報的固有尺寸,不視為位元組數,也不當成每種檔案的原始像素量測。依核准視覺參照檢查商品身分、地區圖樣、裁切、方向與預留圖替換。一般錯誤插圖就算200且能解碼,也不通過業務驗收。
步驟五:確認資源經過預定路由
使用受控端點、來源站紀錄或核准的路由觀測,分別確認頁面主機與圖片主機。頁面走代理,不代表每項CDN圖片都同路徑。瀏覽器例外規則、不同主機及本機重用,要與新的路由傳輸分開判斷。
保留新情境及正常回訪兩種案例。回訪圖片可能沒有新傳輸便顯示,應標示重用,不是一筆新的地區交付量測。暫時停用快取或Service Worker協助診斷時,記下干預,並恢復正常模式後再驗收。
步驟六:以三組故障樣本驗收報告
自有樣本先提供核准響應式圖片,再建立三種受控版本:被選候選不可用;回傳非圖片或無效位元組;回傳能解碼但商品不對的圖片。保持HTML頁面有效,使報告必須辨認頁面成功與圖片失敗。
報告應有市場、顯示設定、頁面結果、選用和最終圖片URL、路由證據、傳輸或重用狀態、解碼、視覺判斷與去識別化截圖位置。前兩類是交付或解碼問題,第三類是活動內容問題,不可合成一個代理失敗計數。
修正後用相同情境與正常快取策略重跑。圖片可取得、可使用、畫面符合規格,且地區主張有路由證據才通過。缺少路由證據,即使畫面正常,地區交付結論仍需標示未解決。
何時使用98IP住宅路由
核准矩陣需要指定住宅市場時,可使用98IP動態住宅IP,依帳戶支援選項設定並確認實際路由。測試自己網站的地區交付,可參考網站測試場景。
代理提供路由,不決定瀏覽器選圖,也不保證內容正確。CDN規則、簽章圖片URL、標記或用戶端狀態的問題需個別修正;不能承諾換出口便解決,也不能在沒有同口徑量測下推論效能或帳單改善。
FAQ與驗收前核對
所有srcset候選都必須測嗎?先核對計畫情境實際選用的資源,其餘列為另行定義的覆蓋工作,不能證明瀏覽器用了它們。
圖片200便合格嗎?還需解碼與預期畫面檢查,並分開標示新傳輸及重用。
驗收清單:地區顯示情境固定、載入觸發正確、選圖穩定、請求相符、解碼結果、核准視覺身分、頁面和資源路由證據、正常快取複測、紀錄去識別化。這個HTML圖片流程本身不驗證CSS背景圖或canvas畫作。
僅執行自有或明確授權測試。真實廣告曝光或點擊須在測試約定允許範圍內,遵守存取限制、減少個人資料,並遮蔽圖片URL與紀錄中的祕密權杖。