首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置ExtentReports以注入自定义html

配置ExtentReports以注入自定义html
EN

Stack Overflow用户
提问于 2016-11-04 18:45:09
回答 1查看 2.4K关注 0票数 0

我需要我的范围报告(版本3.0.0)有一个超链接在页面上。我正在尝试为以下内容注入自定义超文本标记语言,其中webSessionID是我从网页中抓取的UUID。

URL格式应为:

代码语言:javascript
复制
<a href="https://myapp.xmltravel.com/app/logs/s/OPY5Q2EV3P:6CBA845DB3E99F97931FCC9ED84711EB">OPY5Q2EV3P:6CBA845DB3E99F97931FCC9ED84711EB</a>

以下是我正在尝试的(请注意相关区域的代码注释):

我的代码:

代码语言:javascript
复制
public class TestBase implements Config {

protected WebDriver driver = null;
private Logger APPLICATION_LOGS = LoggerFactory.getLogger(getClass());
private static ExtentReports extent;
private static ExtentTest test;
private static ITestContext context;
private static String webSessionId;

@BeforeSuite
@Parameters({"env", "browser"})
public void beforeSuite(String env, String browser) {
    String f = System.getProperty("user.dir") + "\\test-output\\FabrixExtentReport.html";
    ExtentHtmlReporter h = new ExtentHtmlReporter(f);
    extent = new ExtentReports();
    extent.attachReporter(h);
    extent.setSystemInfo("browser: ", browser);
    extent.setSystemInfo("env: ", env);
    String codeBlockOne = "<a href=" + "\"https://myapp.com/app/logs/s/\"";
    String codeBlockTwo = "/a>";
    m1 = MarkupHelper.createCodeBlock(codeBlockOne); //SET HTML OPENING
    m2 = MarkupHelper.createCodeBlock(codeBlockTwo); //SET HTML CLOSING
}

@AfterMethod
public void afterMethod(ITestResult result) throws IOException {
    switch (result.getStatus()) {
        case ITestResult.FAILURE:
            test.fail(result.getThrowable());
            test.fail("Screenshot below: " + test.addScreenCaptureFromPath(takeScreenShot(result.getMethod().getMethodName())));
             test.fail("WebSessionId: " + m1 + webSessionId + m2);//RELEVANT METHOD
            break;
        case ITestResult.SKIP:
            test.skip(result.getThrowable());
            break;
        case ITestResult.SUCCESS:
            test.pass("Passed");
            break;
        default:
            break;
    }
}

相关标签的当前输出为:

代码语言:javascript
复制
    <td class='step-details'>WebSessionId:  
com.aventstack.extentreports.markuputils.CodeBlock@432038ectfbweb0~FE5625464A1F6ED331FB2355BDAF8F00com.aventstack.extentreports.markuputils.CodeBlock@7daa0fbd</ td>
            </tr>
EN

回答 1

Stack Overflow用户

发布于 2016-11-09 15:11:16

不熟悉ER,但您只是获得标记对象引用的字符串表示形式。m1 = MarkupHelper.createCodeBlock(codeBlockOne); m1将具有Markup类型。尝试使用m1.getMarkup()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40420679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档