0

我正在通过 Java 和 Appium 对一个本机应用程序进行自动化处理。该应用程序中的屏幕截图受到限制,因此我无法截取屏幕截图,也无法通过 UIAutomator 检查元素。有什么办法可以解决这个问题。

4

2 回答 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();
    }
于 2018-09-10T11:58:39.190 回答
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

于 2019-02-14T14:49:59.583 回答