如果截图在Native App中受限制,如何在APPIUM中截取屏幕截图

问题描述 投票:0回答:2

我正在通过Java和Appium开发一个本机应用程序的自动化。屏幕截图在该应用程序中受到限制,因此我无法截屏,也无法通过UIAutomator检查元素。有没有办法解决这个问题。

appium screenshot appium-android android-uiautomator uiautomatorviewer
2个回答
0
投票

尝试使用java方式拍摄屏幕截图而不是apache commons

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;

public void takeScreenShot(String fileName) {

    try {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle screenRectangle = new Rectangle(screenSize);
        Robot robot = new Robot();
        BufferedImage image = robot.createScreenCapture(screenRectangle);
        ImageIO.write(image, "png", new File(fileName));
        System.out.println("saved.."+fileName);

    } catch (Exception e) {
        e.printStackTrace();
    }

0
投票

尝试使用此方法并在想要截取屏幕截图时调用它,这将创建屏幕截图,其名称将传递给项目目录中的方法。

public void takeScreenshot(String screenShotName) {

    File file  = ((TakesScreenshot)appDriver).getScreenshotAs(OutputType.FILE);
    try {
        FileUtils.copyFile(file, new File(screenShotName + ".jpg"));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

这里提供了一些相关的解释。看看这是否有帮助

https://developers.perfectomobile.com/display/TT/Capturing+screen+shots+using+Appium

© www.soinside.com 2019 - 2024. All rights reserved.