Android 使用Uiautomator捕获图像/屏幕截图时出现异常
在使用UiautomatorTestcase类捕获主要活动的屏幕截图时,我遇到了以下异常 我正在使用的示例代码Android 使用Uiautomator捕获图像/屏幕截图时出现异常,android,junit,ui-automation,Android,Junit,Ui Automation,在使用UiautomatorTestcase类捕获主要活动的屏幕截图时,我遇到了以下异常 我正在使用的示例代码 public class MyActivityTest extends UiAutomatorTestCase { public UiautomatorAdaptxt() { // TODO Auto-generated constructor stub } @Override protected void setUp() throw
public class MyActivityTest extends UiAutomatorTestCase {
public UiautomatorAdaptxt() {
// TODO Auto-generated constructor stub
}
@Override
protected void setUp() throws Exception {
// TODO Auto-generated method stub
super.setUp();
}
public void testOpenMainActivity() throws UiObjectNotFoundException {
-->Here I use the code to open my Activity<--
getUiDevice().takeScreenshot(storePath);
}
}
公共类MyActivityTest扩展UiAutomatorTestCase{
公共UiautomatorAdaptxt(){
//TODO自动生成的构造函数存根
}
@凌驾
受保护的void setUp()引发异常{
//TODO自动生成的方法存根
super.setUp();
}
public void testOpenMainActivity()引发UiObjectNotFoundException{
-->这里我使用代码打开我的活动你需要安卓4.2或更高版本的设备才能以这种方式截图
这是因为在调用目标时,Android 4.2或API Level 17中添加了takeScreenshot
方法
看
发生的情况是,当您在本地计算机上编译时,您针对包含此方法的android-17或更高版本进行编译,因此编译成功。但是,当部署到android-16的目标android设备上时,此方法丢失。当测试代码尝试调用此方法时,它抛出NoSuchMethodError
异常
作为一种解决方法,您可以像这样使用adb截图
adb shell screencap -p /data/local/tmp/screen-capture.png
adb pull /data/local/tmp/screen-capture.png <localfile.png>
adb shell rm /data/local/tmp/screen-capture.png
adb shell screencap-p/data/local/tmp/screen-capture.png
adb pull/data/local/tmp/screen-capture.png
adb shell rm/data/local/tmp/screen-capture.png
Hi Vidstige感谢您提供的信息,您能告诉我takeScreenshot(文件存储路径)中使用的路径参数吗?我应该提供哪个路径来查看捕获的图像??。