截圖與等待空閑
一、截圖和等待空閑相關知識:
1)圖片縮放比例:例如圖片從100像素縮小到50像素
2)圖片質量:是指圖片大小,質量越高圖片越大,質量越低圖片越小
3)File類:指的是一個文件或者一個文件夾
4)圖片格式:圖片截圖都采用的PNG格式
5)空閑狀態:窗口沒有更新就是沒有動作,界面處於不動狀態
6)窗口更新事件:窗口打開的過程就是一個更新事件,打開后不動了就是空閑狀態
二、截圖相關API:
返回值 | 方法名 | 描述 |
boolean | takeScreenShot(File storePath) | 把當前窗口截圖並將其保存為PNG默認1.0f的規格(原尺寸)和90%質量,參數為File類的文件路徑 |
boolen | takeScreenShot(File storePath, float scale, int quality) | 把當前窗口截圖為PNG格式圖片,可以自定義縮放比例和質量 |
參數說明:
storePath:存儲路徑,必須為png格式
scale:縮放比例,1.0為原圖
quality:圖片壓縮質量,范圍為0-100
三、截圖API應用舉例:

package com.uiautomatortest; import java.io.File; import android.graphics.Point; import android.os.Bundle; import android.os.RemoteException; import android.view.KeyEvent; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testScreen(){ UiDevice.getInstance().pressHome(); sleep(1000); UiDevice.getInstance().pressMenu(); sleep(2000); UiDevice.getInstance().takeScreenshot(new File("/sdcard/screen.png")); } }
四、等待空閑相關API:
返回值 | 方法名 | 描述 |
void | waitForIdle(long timeout) | 自定義超時等待當前應用處於空閑狀態 |
void | waitForIdle() | 等待當前應用處於空閑狀態,默認等待10s |
boolean | waitForWindowUpdate(String packageName, long timeout) | 等待窗口內容更新事件的發生 |
五、等待空閑API

package com.uiautomatortest; import java.io.File; import android.graphics.Point; import android.os.Bundle; import android.os.RemoteException; import android.view.KeyEvent; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testWait(){ //[256,577][320,640] int x, y; x=(320-256)/2+256; y=(640-577)/2+577; UiDevice.getInstance().pressHome(); UiDevice.getInstance().waitForIdle(3000); UiDevice.getInstance().click(x, y); String packageName="com.android.browser"; UiDevice.getInstance().waitForWindowUpdate(packageName, 20000); } }