package com.aventstack.extentreports.view.extenthtml; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import com.aventstack.extentreports.Base; import com.aventstack.extentreports.ExtentTest; import com.aventstack.extentreports.utils.Reader; public class TestAndNodeAttributesTest extends Base { final String testName = getClass().getName(); ExtentTest test; ExtentTest node; Elements htmlTest; Elements htmlNode; @BeforeClass public void localSetup() { test = extent.createTest(testName); node = test.createNode(testName + ".Node"); node.pass(testName + ".Node"); extent.flush(); String html = Reader.readAllText(htmlFilePath); Document doc = Jsoup.parse(html); htmlTest = doc.select("#test-collection .test"); htmlNode = htmlTest.select(".node"); } @Test public void validatesTestsCountView() { int testCount = htmlTest.size(); Assert.assertEquals(1, testCount); } @Test public void validatesNodesCountView() { int nodeCount = htmlNode.size(); Assert.assertEquals(test.getModel().getNodeContext().getAll().size(), nodeCount); } @Test public void validatesTestIDView() { String testId = htmlTest.attr("test-id"); Assert.assertEquals(String.valueOf(test.getModel().getID()), testId); } @Test public void validatesNodeIDView() { String nodeId = htmlNode.first().attr("test-id"); Assert.assertEquals(String.valueOf(test.getModel().getNodeContext().get(0).getID()), nodeId); } @Test public void validatesTestStatusView() { String status = htmlTest.attr("status"); Assert.assertEquals(String.valueOf(test.getStatus()).toLowerCase(), status); } @Test public void validatesNodeStatusView() { String status = htmlNode.first().attr("status"); Assert.assertEquals(String.valueOf(test.getModel().getNodeContext().get(0).getStatus()).toLowerCase(), status); } @Test public void validatesIfBdd() { boolean isBdd = Boolean.valueOf(htmlTest.attr("bdd")); Assert.assertEquals(false, isBdd); } @Test public void validatesTestNameView() { String testName = htmlTest.select(".test-name").first().html(); Assert.assertEquals(this.testName, testName); } @Test public void validatesNodeNameView() { String nodeName = htmlNode.first().select(".node-name").first().html(); Assert.assertEquals(test.getModel().getNodeContext().get(0).getName(), nodeName); } @Test public void validatesTestLogSizeView() { Elements log = htmlTest.select(".test-content > .test-steps .log"); int logSize = log.size(); Assert.assertEquals(0, logSize); } @Test public void validatesNodeLogSizeView() { Elements log = htmlNode.select(".log"); int logSize = log.size(); Assert.assertEquals(test.getModel().getNodeContext().get(0).getLogContext().getAll().size(), logSize); } }