Durante a execução dos testes de automação da interface do usuário, quando a inspeção falha, você geralmente descobre que o log impresso não nos ajuda efetivamente a localizar o problema. Precisamos de capturas de tela do momento de falha em reproduzir a cena de falha naquele momento e, em seguida, solucionar a causa do erro.
Com base nesse requisito, a função de captura de tela do Selenium pode ser usada.
O código de implementação é o seguinte:
import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.apache.commons.lang3.time.DateUtils;import org.openqa.selenium.OutputType;import org.openqa.selenium.TakesScreenshot;import org.openqa.selenium.webdriver; importar org.openqa.selenium.interactions.actions; public static void TakeCreeshot (string screenPath, webdriver Chrome) {tente {// especificar outputType.File como um parameter para o método getScerenshoTas (), que significa Returning Return The Return The FileTer. Arquivo scrfile = ((TakessCreenshot) Chrome) .getScreenshoTas (outputType.File); // Código da chave, execute capturas de tela, por padrão, salve a captura de tela no FileUtils.copyfile do diretório temp (scrfile, novo arquivo (screenpath)); // Use o método copyfile () da classe FileUtils Tool Class para salvar o objeto Arquivo retornado por getScreenshoTas (). } catch (ioexception e) {System.out.println ("Erro de tiro de tela:" + screnPath); System.out.println ("Este erro pode ser visualizado na captura de tela:"+screenPath); } catch (Exceção e) {// TODO: lide a exceção}} public static void TakesCreenshot (WebDriver Chrome, String imggname) {string screenname = imggname+dateUtils.millis_per_day+". jpg"; String filestring = "d: // selênio // escolarpalerp_qtp // imagem"; if (! (novo arquivo (filestring) .IsDirectory ())) {// Determine se o diretório existe novo arquivo (fileString) .mkdir (); // Se não existir, crie um novo diretório} arquivo diretor = novo arquivo (fileString); if (! Dir.Exists ()) Dir.mkdirs (); String screenPath = Dir.getAbsolutepath () + "//" + Trepa de tela; TakesCreeshot (ScreenPath, Chrome); }O código de exemplo acima para a função de captura de tela do teste de automação da UI do Selenium é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.