gpt4 book ai didi

java - 使用 appium 捕获 Android 屏幕截图

转载 作者:可可西里 更新时间:2023-11-01 05:04:27 25 4
gpt4 key购买 nike

我目前有一些工作可以在 iOS 上使用 java 和 junit 捕获 appium 测试的屏幕截图。在测试完成之前,它会运行此代码以在终止连接之前获取屏幕上最后可见的内容

@After
public void tearDown() throws Exception {
if (platform.equals(iOS)) {
captureScreenshot(testName.getMethodName());
}
driver.quit();
}

@SuppressWarnings("Augmenter")
public void captureScreenshot(String testName) {
String imagesLocation = "target/surefire-reports/screenshot/" + platform + "/";
new File(imagesLocation).mkdirs(); // Insure directory is there
String filename = imagesLocation + testName + ".jpg";

try {
Thread.sleep(500);
WebDriver augmentedDriver = new Augmenter().augment(driver);
File scrFile = ((TakesScreenshot)augmentedDriver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(filename), true);
} catch (Exception e) {
System.out.println("Error capturing screen shot of " + testName + " test failure.");
// remove old pic to prevent wrong assumptions
File f = new File(filename);
f.delete(); // don't really care if this doesn't succeed, but would like it to.
}
}

这种排序适用于 android,但最近它完全终止了正在运行的测试,但这可能与它试图获取其快照的设备有关。在保存文件之前,图像会变成空白或损坏。

有人知道如何使用 appium 在 android 上获取图像/屏幕捕获吗?也许与 UIAutomator 有关?

最佳答案

你可以使用这个方法:

public void screenshot(String path_screenshot) throws IOException{
File srcFile=driver.getScreenshotAs(OutputType.FILE);
String filename=UUID.randomUUID().toString();
File targetFile=new File(path_screenshot + filename +".jpg");
FileUtils.copyFile(srcFile,targetFile);
}

它对我来说很好。

关于java - 使用 appium 捕获 Android 屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com