如何阻止 ExtentReports 将 Selenium 日志中的 HTML 引用转换为实际的 HTML?
How to stop ExtentReports from converting HTML references in your Selenium logs to actual HTML?
我将 ExtentReports 4 for .Net 与 HTML V3 报告器一起使用。我的问题是,当测试失败时,我将失败消息输出到 ExtentReport,如果该失败消息包含 HTML 标记,它会将其转换为报告中的实际 HTML!!这会弄乱页面。
例如
OpenQA.Selenium.ElementClickInterceptedException : element click intercepted: Element <button type="button" class="btn btn-sm btn-default" data-bind="click: AddDashlet" data-toggle="modal" data-target="#dashboardSelector">...</button> is not clickable at point (584, 124). Other element would receive the click: <a href="#" data-bind="click: Toggle">...</a>
上面的消息生成了一个实际的按钮!
文档只是说了以下内容:
Simply insert custom HTML in the logs by using an HTML tag:
test.Log(Status.Info, "Usage: <b>BOLD TEXT</b>");
正在使用 Nunit 的 Testcontext 输出错误消息。可能我可以从中删除 < 和 > 字符,但是有什么办法可以阻止这种情况发生吗?谢谢
问题是因为您传递了带有 HTML 标记的异常消息,ExtentReports 认为您正在尝试传递一些 HTML 代码。
虽然以下不是好的解决方案,但它可以作为解决您的问题的一种方法。只需将异常消息中的“<”和“>”标记替换为替换,然后传递给 test.log() 方法。
//Use <small> or <p> tags based on your convenient but you have to keep your exception message inside some HTML tag as I have done below.
String exceptionMessage = "Your exception message which has <a> tag"
test.Log(Status.Info, "<small>"+exceptionMessage.Replace("<","<").Replace(">",">")+"</small>");
我将 ExtentReports 4 for .Net 与 HTML V3 报告器一起使用。我的问题是,当测试失败时,我将失败消息输出到 ExtentReport,如果该失败消息包含 HTML 标记,它会将其转换为报告中的实际 HTML!!这会弄乱页面。
例如
OpenQA.Selenium.ElementClickInterceptedException : element click intercepted: Element <button type="button" class="btn btn-sm btn-default" data-bind="click: AddDashlet" data-toggle="modal" data-target="#dashboardSelector">...</button> is not clickable at point (584, 124). Other element would receive the click: <a href="#" data-bind="click: Toggle">...</a>
上面的消息生成了一个实际的按钮!
文档只是说了以下内容:
Simply insert custom HTML in the logs by using an HTML tag:
test.Log(Status.Info, "Usage: <b>BOLD TEXT</b>");
正在使用 Nunit 的 Testcontext 输出错误消息。可能我可以从中删除 < 和 > 字符,但是有什么办法可以阻止这种情况发生吗?谢谢
问题是因为您传递了带有 HTML 标记的异常消息,ExtentReports 认为您正在尝试传递一些 HTML 代码。
虽然以下不是好的解决方案,但它可以作为解决您的问题的一种方法。只需将异常消息中的“<”和“>”标记替换为替换,然后传递给 test.log() 方法。
//Use <small> or <p> tags based on your convenient but you have to keep your exception message inside some HTML tag as I have done below.
String exceptionMessage = "Your exception message which has <a> tag"
test.Log(Status.Info, "<small>"+exceptionMessage.Replace("<","<").Replace(">",">")+"</small>");