UIAutomator截屏
第一次博客
在学习使用UIAutomator写Android的自动化case的过程中,遇到了需要截取手机屏幕的操作。
UIAutomator为我们提供了截取屏幕的接口基本代码如下:
Instrumentation instrumentation = InstrumentationRegistry,getInstrumentation();
UiDevice device = Uidevice.getInstance(instrumentation);
File f = new File("/sdcard/Screenshot.png") ;
device.takeScreenshot(f) ;
这样就可以很方便的在你想截图的地方截图了。
但是我在写完这简单几行代码运行后在我的目标目录下并没有我想要的截图,尝试多次无果只能寻求谷歌帮助,最后找到了解决方法如下。
1。在AndroidManifest.xml文件下添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2。在命令行输入
adb shell pm grant com.example.android.testing.uiautomator.your_app android.permission.READ_EXTERNAL_STORAGE
adb shell pm grant com.example.android.testing.uiautomator.your_app android.permission.WRITE_EXTERNAL_STORAGE
3。现在运行截图代码
截取成功!
##