Невозможно добавить скриншот в отчет ReportNG HTML

Я пытаюсь сделать снимок экрана для методов отказа, а также хочу поместить то же самое в свой отчет, я могу сделать снимок экрана, но не могу показать то же самое в отчете HTML. Ниже приведен мой код, друзья, есть какие-нибудь подсказки по этому поводу?

public class SB1 {
    private static  Logger logger = Logger.getLogger(SB1.class);
    WebDriver driver = new FirefoxDriver();

@Test
public void Testone() {

    driver.get("http://www.google.com/");

    assert false;




}


public void catchExceptions(ITestResult result) {
    System.out.println("result" + result);
    String methodName = result.getName();
    System.out.println(methodName);

    if (!result.isSuccess()) {

        try {

        String failureImageFileName =  new SimpleDateFormat("MM-dd-yyyy_HH-ss").format(new GregorianCalendar().getTime())+ ".png"; 
        File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
        FileUtils.copyFile(scrFile, new File(failureImageFileName)); 

            String userDirector = System.getProperty("user.dir") + "/"; 
            Reporter.log("<a href=\""+ userDirector + failureImageFileName +"\"><img src=\"file:///" + userDirector 
                         + failureImageFileName + "\" alt=\"\""+ "height='100' width='100'/> "+"<br />"); 
            Reporter.setCurrentTestResult(null); 

        } catch (IOException e1) {
            e1.printStackTrace();
        }
}

person Pal    schedule 05.02.2013    source источник


Ответы (3)


Вы установили для ESCAPE_PROPERTY значение false? Это то, что вам нужно будет сделать, если вы хотите, чтобы Reportng опубликовал скриншот -

    private static final String ESCAPE_PROPERTY = "org.uncommons.reportng.escape-output";

и в вашей настройке-

    System.setProperty(ESCAPE_PROPERTY, "false");
person user2217062    schedule 27.03.2013
comment
И куда бы вы их поставили? - person Cagy79; 15.01.2015

Я попробовал это. Похоже, что если вы установите для системного свойства значение false, оно удалит экранирование из ВСЕГО журнала... Насколько я могу судить, отчет генерируется после теста с любым системным свойством, установленным в то время. Я хочу вставить снимок экрана (который работал с приведенным выше кодом), но я не хочу удалять другое форматирование (теги br).

person zmorris    schedule 29.01.2014

Вы можете использовать следующий код.

Reporter.log("<br>Chrome driver launched for ClassOne</br>");

Или вы можете использовать метод настройки, где вам не нужно каждый раз добавлять тег br, используйте следующий индивидуальный метод.

public void customLogReport(String testCaseDescription) throws Exception{ try{ Reporter.log("<br>" + testCaseDescription + "</br>"); }catch(Exception e){ e.printStackTrace(); } }

person Nikhil Gupta    schedule 27.07.2016