[android]android自動化測試十二之程式碼控制截圖
該方法適用於對某個Activity進行截圖,不包含狀態列,在使用之前要保證view載入完畢才可以進行使用。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.util.Log;
import android.view.View;
public class ScreenShot {
// 獲取指定Activity的截圖,儲存到png檔案
private static Bitmap takeScreenShot(Activity activity) {
// View是你需要截圖的View
View view = activity.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap b1 = view.getDrawingCache();
// 獲取狀態列高度
Rect frame = new Rect();
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
Log.i("TAG", "" + statusBarHeight);
// 獲取螢幕長和高
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
int height = activity.getWindowManager().getDefaultDisplay()
.getHeight();
// 去掉標題欄
// Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455);
Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height
- statusBarHeight);
view.destroyDrawingCache();
return b;
}
// 儲存到sdcard
private static void savePic(Bitmap b, String strFileName) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(strFileName);
if (null != fos) {
b.compress(Bitmap.CompressFormat.PNG, 90, fos);
fos.flush();
fos.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// 程式入口
public static void shoot(Activity a) {
ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png");
}
}
相關文章
- Android 自動化測試之 MonkeyAndroid
- Android 談談自動化測試Android
- android 5個自動化測試Ui框架AndroidUI框架
- Android自動化測試入門(四)單元測試Android
- Android + Appium 自動化測試完整的環境配置及程式碼詳解AndroidAPP
- Android JNI 程式碼自動生成Android
- Android 自動化測試及效能資料採集的 Python 指令碼AndroidPython指令碼
- Android UXSS階段性小結及自動化測試AndroidUX
- Python物件導向之十二:程式碼測試Python物件
- Android自動化測試第二篇 Appnium環境搭建AndroidAPP
- Android截圖監聽Android
- 高階測試工程師必備技術:用Git版本控制自動化測試程式碼工程師Git
- 深圳軟體測試培訓學習:Android常用自動化測試工具【千鋒】Android
- 小程式自動化測試--測試3
- 解放雙手 - Android 開發應該嘗試的 UI 自動化測試AndroidUI
- 測試開發之自動化篇-自動化測試框架設計框架
- Android截圖和指定View生成截圖分享AndroidView
- UI自動化測試之AirtestUIAI
- 工作專案經驗總結(1)-- 投影儀自動化測試 (Android)Android
- 自動化測試系列 —— UI自動化測試UI
- 面試Tip:Android優化之APP啟動優化面試Android優化APP
- Appium+python自動化(十二)- Android UIAutomator終極定位凶器(超詳解)APPPythonAndroidUI
- Android UI 測試指南之 EspressoAndroidUIEspresso
- AutoRunner 功能自動化測試專案實訓之自動化測試原理(一)
- 滴滴雲控制檯 Selenium 自動化測試初探
- 3分鐘瞭解Appium:使用appium做Android手機自動化測試!APPAndroid
- Android常用9種自動化測試框架對比,Appium有哪些優勢?Android框架APP
- 測試 之Java單元測試、Android單元測試JavaAndroid
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- Android長截圖的實現Android
- Android Note - 程式碼優化Android優化
- Android開機自啟動程式Android
- 深圳軟體測試學習:如何在Android手機上進行自動化測試【千鋒】Android
- 【自動化測試入門】自動化測試思維
- Android 效能優化(十二)之我為什麼寫效能優化Android優化
- 測試開發之自動化篇-Appium指令碼開發APP指令碼
- 自動化測試畫布控制元件找不到控制元件
- 從探索到突破:網易雲音樂Android自動化效能測試實踐Android
- 全副武裝!Android UI 自動化測試在 RxImagePicker 中的實踐歷程AndroidUI