Всем привет, подскажите пожалуйста в чем может быть проблема: при использовании ReportNG и его метода Reporter.log() в отчет выводится искаженная строчка, которая принудительно обрабатывается (по всей видимости) функцией escapeHtml(). Суть проблемы - хочу в лог вывести теги html и спец-символы, но в лог выводится совсем другое. Метод setEscapeHtml(false) - не помог.
Метод, который выводит информацию:
@AfterMethod(alwaysRun = true)
public static void takeScreenshot(ITestResult result) {
if (! result.isSuccess())
{
File screenshot1 = new File("src/test/java/Screenshots/" +result.getMethod().getMethodName() + ".png");
screenshot1.delete();
File screenshotTempFile = ((TakesScreenshot) SetupAndTeardown.driver).getScreenshotAs(OutputType.FILE);
try { Files.copy(screenshotTempFile, screenshot1); }
catch(Exception e) {System.out.println(e);}
// Reporter.log("<a href=\"" + screenshot1.getName() + "\">" + result.getMethod().getMethodName() + "Screenshot</a>");
Reporter.setEscapeHtml(false);
Reporter.log("<a>");
}
}
В результате получаю:
<body>
<h1>Log Output</h1>
<p>
Combined output from all calls to the log methods of the <a href="http://testng.org/javadocs/org/testng/Reporter.html">TestNG Reporter</a>.
</p>
<div id="log">
<a><br />
<a><br />
</div>
</body>
А ожидаю получить:
<body>
<h1>Log Output</h1>
<p>
Combined output from all calls to the log methods of the <a href="http://testng.org/javadocs/org/testng/Reporter.html">TestNG Reporter</a>.
</p>
<div id="log">
<a>
</div>
</body>
Уточнение: Хочу запустить тесты в TestNG, без Maven, и если для JVM, через командную строку передать параметр -Dorg.uncommons.reportng.escape-output=false - то все хорошо и правильно вставляется, но как это сделать настройками TestNG ? Другими словами можно ли эту команду впихнуть в конфиг testng.xml если да, то как?