java - Robotium - 如何截取屏幕截图并从测试用例内部打开

标签 java android testing robotium

我正在尝试编写一个截取屏幕截图的测试用例,然后他们加载此屏幕截图以进行图像处理。目前我找到了以下方法

solo.takeScreenshot()

takeScreenshot() 方法将图片保存在设备上的“/sdcard/Robotium-Screenshots/”文件夹中。

有什么方法可以用来访问保存在这个文件夹中的文件吗?

谢谢!

最佳答案

您可以告诉 robotium 屏幕截图使用什么文件名。 Robotium 将异步保存文件,因此您需要等待文件出现才能使用它。

    solo.takeScreenshot("ScreenshotFile");
    final File file = new File(Environment.getExternalStorageDirectory() + "/Robotium-Screenshots/", "ScreenshotFile" + ".jpg");
    final int TIMEOUT = 5000;
    assertTrue(solo.waitForCondition(new Condition() {
        @Override
        public boolean isSatisfied() {
            return file.exists();
        }
    }, TIMEOUT));
    HERE IS WHERE YOU CAN DO WHATEVER YOU WANT WITH file

当然,在后续运行中,该文件将在您运行测试之前存在。您要么需要清理文件,要么为每次测试运行生成一个新文件名。

关于java - Robotium - 如何截取屏幕截图并从测试用例内部打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619613/

相关文章:

java - Android - 需要 Activity 但不想要 Activity ?

java - 尽管正确提供了角色,Spring Security 授权仍无法正常工作

android - 如何在android Canvas 上绘制部分圆形矩形?

android - 如何从第二屏回到第一屏

node.js - 如何测试通过模拟从 express 调用的路由处理程序

.net - 没有单元测试 (TDD) 的 QA 能否高效?

java - id 列和 JPA 的问题

java - 如何在Python中膨胀一些由Peoplesoft(Java)缩小的数据?

android - gradle项目中输入流不能为空异常

ruby-on-rails - 为深层嵌套模型创建工厂