Printar tela de execução do teste automatizado

2 respostas
seleniumprintfjava
H

Boa tarde pessoal.

Sou iniciante e gostaria de saber se consigo printar a tela do navegador que esta executando um teste automatizado.
Atualmente consigo printar a tela, mas se eu minimizar o navegador enquanto o teste é executado, o print que sai é do que tiver aberto na maquina na hora do print.

O código que tenho hoje é esse:

public void print(WebDriver driver, String numeroPedido){

try {

Robot robot = new Robot();

BufferedImage bi = robot.createScreenCapture(new

Rectangle(0, 0, 1920, 1080));

ImageIO.write(bi, jpg, new File(C:\Users\helen\Documents\Evidencias\” + numeroPedido + - + dataAtualizacao.getDataHora() + .jpg));

System.out.println(Evidência registrada);

} catch (Exception e) {

System.out.println(Erro ao tirar print);

}

}

2 Respostas

J

Roda os testes do Selenium em uma máquina virtual, assim um não atrapalha o outro. Inclusive pode ter n máquinas rodando vários testes em paralelo através do selenium grid.

W

Use o TakeScreenShot.
O exemplo, que adaptei de outra dica funciona pra mim.
Só utilizo o Robot quando preciso printar telas com pop-up.

Use:
takeSnapShot( numeroPedido + “-” + dataAtualizadao.getDataHora() + “jpg” );

Exemplo do método:

public static void takeSnapShot(String nomeDoArquivoImagem) throws Exception {

	// Convert web driver object to TakeScreenshot
	TakesScreenshot scrShot = ((TakesScreenshot) driver);

	// Call getScreenshotAs method to create image file
	File srcFile = scrShot.getScreenshotAs(OutputType.FILE);

	// imageFileDir = System.getProperty("java.io.tmpdir"); 
	imageFileDir = "C://Users//helen//Documents//Evidencias//";
	FileUtils.copyFile(srcFile, new File(imageFileDir, nomeDoArquivoImagem));

}
Criado 29 de novembro de 2017
Ultima resposta 6 de dez. de 2017
Respostas 2
Participantes 3