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