WebView的測試:主要做用在混合(Hybrid)的應用web
* 一部分是原生界面和代碼,而另外一部分是內嵌網頁chrome
* 好比微信、支付寶瀏覽器
* 內嵌了一個瀏覽器內核,由瀏覽器內核實現的微信
安卓應用中的內嵌的展現網頁內容的模塊,咱們稱之爲webviewapp
準備工做:測試
app修改編譯 ==== 須要添加webview調用 ---- 對webview對象加入setWebContentsDebuggingEnable的調用url
直接讓開發人員在下面這段代碼中加入一句代碼:debug
protected void onCrete(Bundle saveInstanceState){調試
super.onCreate(savedInstanceState);code
WebView myWebView = (WebView) findViewById(R.id.xxxwebview);
myWebView.setWebContentsDebuggingEnabled(true); # 加上這句代碼
};
若是不知道怎麼說,簡單總結一句話:「幫忙加一下webview的debug調用」就好。
webview有兩種狀況:
① webview的內容 不依賴所在app
方法:直接用chrome瀏覽器F12裏面的手機模式打開對應的網頁
- 只是打開一個url
- 直接使用chrome瀏覽器打開對應的網頁
- 使用手機模式
② 被測應用webview與app原生有交互,依賴app
方法:經過chrome瀏覽器的遠程調試功能(前提是本電腦能夠正常上網)
詳細步驟: - 確保被測試app在手機上打開
- 打開chrome瀏覽器,地址輸入chrome://inspect
- 等待界面顯示以下 ,這裏就不截圖了
Appium自動化webview:
* appium中把全部的界面環境 稱之爲context
* native部分的context名字通常爲NATIVE_APP
* webview部分的context則爲WEBVIEW_XXX (應用app package名)
* 咱們怎麼查看當前有哪些context呢? --------------- driver.contexts
* 而顯示當前context的則是 ------------- driver.current_context
通知查看》》
安卓的系統通知在通知欄
打開通知欄 driver.open_notifications()
查看通知內容
返回應用 driver.press_keycode(4) # 返回鍵