2011-06-14 68 views
1

我有活動,其中包含從互聯網加載一些URL的WebView,我想確保預期的HTML存在於WebView,如何獲得此內容? 我知道它可能使用JavaScript技巧,但我不喜歡把生產代碼中的技巧...如何測試包含WebView的活動?

+0

這是不是很清楚你在問什麼。如果你有一個包含WebView的佈局的Activity,你應該可以在你的WebView引用上調用loadUrl(),並且該頁面應該加載到你的webview中,無論是測試還是其他。無需在您的頁面上使用任何特殊的JavaScript – FoamyGuy 2011-06-14 22:25:34

+0

@Tim - 我想你錯過了這個問題的要點。請參閱Michaelg的回答。 – Bamerza 2012-03-23 22:55:15

回答

2

您可以爲您的WebView創建自定義WebViewClient。然後,您可以重寫shouldInterceptRequest和/或shouldOverrideUrlLoading。這會讓你知道所有的網絡流量(頁面加載,Ajax請求,加上更多普通的東西,比如正在加載的圖片和CSS)到頁面。然後,您可以將其記錄在調試或信息設置中,因此它僅在開發中記錄,而不是在生產版本中(假設您爲發佈版本設置適當的日誌級別)。您還可以基於這些方法提供的信息。重寫這兩個方法也可以爲您提供鉤子以加載單元測試目的的測試頁面。同樣,您可以爲您的WebView創建自定義WebChromeClient。您可以覆蓋onConsoleMessage,將JS日誌記錄和警告/錯誤指向您的正常Android日誌。