Невозможно увидеть снимок экрана в отчете о экстентах на другой машине, использующей концепцию хуков - PullRequest
0 голосов
/ 04 августа 2020

Когда я отправляю экстент-отчет другому человеку, в отчете отсутствует скриншот, и я пробовал всеми способами заархивировать отчет и отправить его, но были те же проблемы. Я реализовал фреймворк Cucumber, используя концепцию хуков, в которой я использовал класс роботов, поэтому, пожалуйста, любой может мне помочь.

1 Ответ

0 голосов
/ 07 августа 2020
 *package stepDefinitions;

import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
//import java.io.ByteArrayOutputStream;
import java.io.File;
//import java.util.Base64;
import java.awt.Rectangle;
import javax.imageio.ImageIO;


import com.cucumber.listener.Reporter;

import cucumber.api.Scenario;
import cucumber.api.java.After;
import cucumber.api.java.Before;

public class Hook 
{
    @Before(" @TC001")
    public void setup() {
        
        Reporter.assignAuthor("QA - Gunjan Attri");

        System.out.println("open");
    }

    @After("@TC001")
    public static void tearDown(Scenario scenario) {
        if (scenario.isFailed()) {
            try {
                System.out.println("Test case which got failed is " + scenario.getName());
                Robot awt_robot = new Robot();
                BufferedImage Entire_Screen = awt_robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                String Destination = "D:\\OFFICE\\Office Project\\office\\HermesCucumberBDD\\screenshots\\"+scenario.getName()+".png";
                //ByteArrayOutputStream outStream = new ByteArrayOutputStream();
                ImageIO.write(Entire_Screen, "PNG", new File(Destination));
                //encodedData = Base64.encodeBase64(outStream.toByteArray());

                Reporter.addScreenCaptureFromPath(Destination);

            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            try {
                System.out.println("Test case which got passed is " + scenario.getName());
                Robot awt_robot = new Robot();
                BufferedImage Entire_Screen = awt_robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                String Destination = "D:\\OFFICE\\Office Project\\office\\HermesCucumberBDD\\screenshots\\"+scenario.getName()+".png";
                ImageIO.write(Entire_Screen, "PNG", new File(Destination));
                Reporter.addScreenCaptureFromPath(Destination);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
}*
...