Как сделать снимок экрана в APPIUM, если снимок экрана ограничен в приложении Native App

Я работаю над автоматизацией одного нативного приложения через Java & Appium. Снимок экрана ограничен в этом приложении, поэтому я не могу сделать снимок экрана, а также заметить, чтобы проверить элемент через UIAutomator. Есть ли способ решить эту проблему.

3 ответа

Попробуйте этот метод и вызовите его, когда вы хотите сделать снимок экрана, он создаст снимок экрана с именем, переданным методу в каталоге вашего проекта.

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

Попробуйте 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();
    }

Попробуйте функцию Get Source из Appium

      String pageSource = driver.getPageSource();

Ссылка: https://appium.io/docs/en/commands/session/source/

Другие вопросы по тегам