微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何阻止 ExtentReports 将 Selenium 日志中的 HTML 引用转换为实际的 HTML?

如何解决如何阻止 ExtentReports 将 Selenium 日志中的 HTML 引用转换为实际的 HTML?

我将 ExtentReports 4 用于 .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("<","&#60").Replace(">","&#62")+"</small>");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。