Example usage for org.jsoup.nodes Document createElement

List of usage examples for org.jsoup.nodes Document createElement

Introduction

In this page you can find the example usage for org.jsoup.nodes Document createElement.

Prototype

public Element createElement(String tagName) 

Source Link

Document

Create a new Element, with this document's base uri.

Usage

From source file:perflab.LoadrunnerWrapper.java

/**
 * @param transactions - ArrayList of LoadRunnerTransaction objects
 * @param summaryFile  - location of xml summary file to be generated out of transaction objects in jUnit format
 * @return/* w w w .  j a  v  a  2  s  .  c  o  m*/
 */
private void generatejUnitReport(ArrayList<LoadRunnerTransaction> transactions, String summaryFile) {

    getLog().info("Transformation to jUnit XML started ...");

    String stringReport = "";

    try {
        /*
         * http://llg.cubic.org/docs/junit/
         <testsuite tests="3" time="42.5">
           <testcase classname="ZZZ_1" name="ZZZ_1" time="10.1"/>
           <testcase classname="ZZZ_2" name="ZZZ_2" time="11.7"/>
           <testcase classname="ZZZ_3" name="ZZZ_3" time="12.2">
            <!--failure type="NotEnoughFoo"> too slow </failure-->
           </testcase>
        </testsuite>
         */

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        // root elements
        org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument();
        org.w3c.dom.Element testsuiteElement = (org.w3c.dom.Element) doc.createElement("testsuite");
        testsuiteElement.setAttribute("tests", String.valueOf(transactions.size()));
        //testsuiteElement.setAttribute("time", "total test duration");
        doc.appendChild(testsuiteElement);

        ////////////////////////////////////////////////////////////////////////////

        for (LoadRunnerTransaction tr : this.transactions) {

            getLog().info("Dump " + tr.getName());

            org.w3c.dom.Element testcaseElement = doc.createElement("testcase");
            testcaseElement.setAttribute("classname", "load.ResponseTime");
            testcaseElement.setAttribute("name", tr.getName());
            testcaseElement.setAttribute("time", String.valueOf(tr.getAvgRT()));

            testsuiteElement.appendChild(testcaseElement);
        }

        ////////////////////////////////////////////////////////////////////////////
        // write the content into xml file
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

        DOMSource source = new DOMSource(doc);

        File lr_report = new File(summaryFile);
        StreamResult result = new StreamResult(lr_report);

        transformer.transform(source, result);

        getLog().info("File saved in " + lr_report.getAbsolutePath());

    } catch (ParserConfigurationException pce) {
        getLog().error(pce.getMessage());
        pce.printStackTrace();
    } catch (TransformerException tfe) {
        getLog().error(tfe.getMessage());
        tfe.printStackTrace();
    }
}

From source file:perflab.LoadrunnerWrapper.java

/**
 * @param transactions - ArrayList of LoadRunnerTransaction objects
 * @return/*from ww w.  jav  a2s.  c o  m*/
 */
private void generatePerfPublisherReport(ArrayList<LoadRunnerTransaction> transactions, String xmlFile) {
    getLog().info("Transformation to XML started ...");
    try {

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        // root elements
        org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument();
        org.w3c.dom.Element reportElement = (org.w3c.dom.Element) doc.createElement("report");
        doc.appendChild(reportElement);

        ////////////////////////////////////////////////////////////////////////////

        //<categories>
        //   <category name="memory" scale="mb">
        //       <observations>
        //           <observation name="Server 1">100</observation>
        //           <observation name="Server 2">200</observation>
        //       </observations>
        //   </category>

        //   <category name="disk" scale="gb">
        //       <observations>
        //           <observation name="Server 1">41</observation>
        //           <observation name="Server 2">58</observation>
        //       </observations>
        //   </category>
        //</categories>

        // start element
        org.w3c.dom.Element startElement = (org.w3c.dom.Element) doc.createElement("start");
        reportElement.appendChild(startElement);

        // date element
        org.w3c.dom.Element date = (org.w3c.dom.Element) doc.createElement("date");
        startElement.appendChild(date);

        date.setAttribute("format", "YYYYMMDD");
        date.setAttribute("val", "20100922");

        // time element
        org.w3c.dom.Element time = (org.w3c.dom.Element) doc.createElement("date");
        startElement.appendChild(time);

        time.setAttribute("format", "HHMMSS");
        time.setAttribute("val", "215935");

        ////////////////////////////////////////////////////////////////////////////

        //<test name="Smoke test" executed="yes" categ="Smoke test">

        //<description>Tests if ATE LAN socket and communication works.</description>

        //<result>
        //   <success passed="yes" state ="100" hasTimedOut="no" />
        //   <compiletime unit="s" mesure="0" isRelevant="yes" />
        //   <performance unit="%" mesure="0" isRelevant="yes" />
        //   <executiontime unit="s" mesure="12" isRelevant="yes" />
        //   <metrics>
        //      <006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/>
        //      <007_My_Timesheet unit="sec" mesure="1.247" isRelevant="yes"/>
        //   </metrics>
        //</result>
        //</test>
        //</report>

        ////////////////////////////////////////////////////////////////////////////
        // test element
        org.w3c.dom.Element testElement = doc.createElement("test");
        reportElement.appendChild(testElement);

        testElement.setAttribute("name", "Smoke test");
        testElement.setAttribute("executed", "yes");
        testElement.setAttribute("categ", "Smoke test");

        // description element
        org.w3c.dom.Element descriptionElement = doc.createElement("description");
        descriptionElement.appendChild(doc.createTextNode("This is the best Load test ever executed..."));
        reportElement.appendChild(descriptionElement);

        ////////////////////////////////////////////////////////////////////////////
        // result
        org.w3c.dom.Element resultElement = doc.createElement("result");
        reportElement.appendChild(resultElement);

        org.w3c.dom.Element successElement = doc.createElement("success");
        resultElement.appendChild(successElement);

        org.w3c.dom.Element compiletimeElement = doc.createElement("compiletime");
        resultElement.appendChild(compiletimeElement);

        org.w3c.dom.Element performanceElement = doc.createElement("performance");
        resultElement.appendChild(performanceElement);

        org.w3c.dom.Element executiontimeElement = doc.createElement("executiontime");
        resultElement.appendChild(executiontimeElement);

        org.w3c.dom.Element metricsElement = doc.createElement("metrics");
        resultElement.appendChild(metricsElement);

        ////////////////////////////////////////////////////////////////////////////

        for (LoadRunnerTransaction tr : this.transactions) {
            //<006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/>
            String trName = "tr_" + tr.getName();
            getLog().info("Dump " + trName);

            org.w3c.dom.Element trElement = doc.createElement(trName);
            trElement.setAttribute("unit", "sec");
            trElement.setAttribute("mesure", String.valueOf(tr.getAvgRT()));
            trElement.setAttribute("isRelevant", "yes");
            metricsElement.appendChild(trElement);
        }

        ////////////////////////////////////////////////////////////////////////////
        // write the content into xml file
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

        DOMSource source = new DOMSource(doc);

        File lr_report = new File(xmlFile);
        StreamResult result = new StreamResult(lr_report);

        transformer.transform(source, result);

        getLog().info("File saved in " + lr_report.getAbsolutePath());

    } catch (ParserConfigurationException pce) {
        getLog().error(pce.getMessage());
        pce.printStackTrace();
    } catch (TransformerException tfe) {
        getLog().error(tfe.getMessage());
        tfe.printStackTrace();
    }
}

From source file:perflab.loadrunnerwrapperjenkins.LoadRunnerWrapper.java

/**
 * @param transactions - ArrayList of LoadRunnerTransaction objects
 * @return/*from   www  .  j  a  v  a2  s .  c om*/
 */
private String generatejUnitReport(ArrayList<LoadRunnerTransaction> transactions) {
    String stringReport = "";
    logger.println("Transformation to jUnit XML started ...");
    try {
        /*
         * http://llg.cubic.org/docs/junit/
         *<testsuite tests="3" time="42.5"> 
         *    <testcase classname="ZZZ_1" name="ZZZ_1" time="10.1"/>
         *  <testcase classname="ZZZ_2" name="ZZZ_2" time="11.7"/>
         *  <testcase classname="ZZZ_3" name="ZZZ_3" time="12.2">
         *  <!--failure type="NotEnoughFoo"> too slow </failure-->
         *  </testcase> 
         *</testsuite>
         */

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        // root elements
        org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument();
        org.w3c.dom.Element testsuiteElement = (org.w3c.dom.Element) doc.createElement("testsuite");
        testsuiteElement.setAttribute("tests", String.valueOf(transactions.size()));
        // testsuiteElement.setAttribute("time", "total test duration");
        doc.appendChild(testsuiteElement);

        // //////////////////////////////////////////////////////////////////////////

        for (LoadRunnerTransaction tr : this.transactions) {

            logger.println("Dump " + tr.getName());

            org.w3c.dom.Element testcaseElement = doc.createElement("testcase");
            //testcaseElement.setAttribute("classname", tr.getName());
            testcaseElement.setAttribute("classname",
                    "load." + new File(this.loadRunnerScenario).getName().replace(".lrs", ""));
            testcaseElement.setAttribute("name", tr.getName());
            testcaseElement.setAttribute("time", String.valueOf(tr.getAvgRT()));

            testsuiteElement.appendChild(testcaseElement);
        }

        // //////////////////////////////////////////////////////////////////////////
        // write the content into xml file
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

        stringReport = this.getStringFromDoc(doc);

    } catch (ParserConfigurationException pce) {
        logger.println(pce.getMessage());
        pce.printStackTrace();
    } catch (TransformerException tfe) {
        logger.println(tfe.getMessage());
        tfe.printStackTrace();
    }
    return stringReport;
}

From source file:perflab.loadrunnerwrapperjenkins.LoadRunnerWrapper.java

/**
 * @param transactions - ArrayList of LoadRunnerTransaction objects
 * //@param summaryFile  - location of SCV summary file to be generated out of
 *                     transaction objects in PerfPublisher Report format
 * @return//from   w ww.  j  a va  2  s  . com
 */
private String generatePerfPublisherReport(ArrayList<LoadRunnerTransaction> transactions) {

    logger.println("Transformation to XML started ...");
    String stringReport = "";
    try {

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        // root elements
        org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument();
        org.w3c.dom.Element reportElement = (org.w3c.dom.Element) doc.createElement("report");
        doc.appendChild(reportElement);

        // //////////////////////////////////////////////////////////////////////////

        // <categories>
        // <category name="memory" scale="mb">
        // <observations>
        // <observation name="Server 1">100</observation>
        // <observation name="Server 2">200</observation>
        // </observations>
        // </category>

        // <category name="disk" scale="gb">
        // <observations>
        // <observation name="Server 1">41</observation>
        // <observation name="Server 2">58</observation>
        // </observations>
        // </category>
        // </categories>

        // start element
        org.w3c.dom.Element startElement = (org.w3c.dom.Element) doc.createElement("start");
        reportElement.appendChild(startElement);

        // date element
        org.w3c.dom.Element date = (org.w3c.dom.Element) doc.createElement("date");
        startElement.appendChild(date);

        date.setAttribute("format", "YYYYMMDD");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMdd");
        date.setAttribute("val", sdf.format(startTime));

        // time element
        org.w3c.dom.Element time = (org.w3c.dom.Element) doc.createElement("date");
        startElement.appendChild(time);

        time.setAttribute("format", "HHMMSS");
        SimpleDateFormat stf = new SimpleDateFormat("hhmmss");
        time.setAttribute("val", stf.format(startTime));

        // //////////////////////////////////////////////////////////////////////////

        // <test name="Smoke test" executed="yes" categ="Smoke test">

        // <description>Tests if ATE LAN socket and communication
        // works.</description>

        // <result>
        // <success passed="yes" state ="100" hasTimedOut="no" />
        // <compiletime unit="s" mesure="0" isRelevant="yes" />
        // <performance unit="%" mesure="0" isRelevant="yes" />
        // <executiontime unit="s" mesure="12" isRelevant="yes" />
        // <metrics>
        // <006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/>
        // <007_My_Timesheet unit="sec" mesure="1.247" isRelevant="yes"/>
        // </metrics>
        // </result>
        // </test>
        // </report>

        // //////////////////////////////////////////////////////////////////////////
        // test element
        org.w3c.dom.Element testElement = doc.createElement("test");
        reportElement.appendChild(testElement);

        testElement.setAttribute("name", "Load test");
        testElement.setAttribute("executed", "yes");
        testElement.setAttribute("categ", "Load test");

        // description element
        org.w3c.dom.Element descriptionElement = doc.createElement("description");
        descriptionElement.appendChild(doc.createTextNode("This is the best Load test ever executed..."));
        reportElement.appendChild(descriptionElement);

        // //////////////////////////////////////////////////////////////////////////
        // result
        org.w3c.dom.Element resultElement = doc.createElement("result");
        reportElement.appendChild(resultElement);

        org.w3c.dom.Element successElement = doc.createElement("success");
        resultElement.appendChild(successElement);

        org.w3c.dom.Element compiletimeElement = doc.createElement("compiletime");
        resultElement.appendChild(compiletimeElement);

        org.w3c.dom.Element performanceElement = doc.createElement("performance");
        resultElement.appendChild(performanceElement);

        org.w3c.dom.Element executiontimeElement = doc.createElement("executiontime");
        resultElement.appendChild(executiontimeElement);

        org.w3c.dom.Element metricsElement = doc.createElement("metrics");
        resultElement.appendChild(metricsElement);

        // //////////////////////////////////////////////////////////////////////////

        for (LoadRunnerTransaction tr : this.transactions) {
            // <006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/>
            String trName = "tr_" + tr.getName();
            logger.println("Dump " + trName);

            org.w3c.dom.Element trElement = doc.createElement(trName);
            trElement.setAttribute("unit", "sec");
            trElement.setAttribute("mesure", String.valueOf(tr.getAvgRT()));
            trElement.setAttribute("isRelevant", "yes");
            metricsElement.appendChild(trElement);
        }

        // //////////////////////////////////////////////////////////////////////////
        // write the content into xml file
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

        stringReport = this.getStringFromDoc(doc);

    } catch (ParserConfigurationException pce) {
        logger.println(pce.getMessage());
        pce.printStackTrace();
    } catch (TransformerException tfe) {
        logger.println(tfe.getMessage());
        tfe.printStackTrace();
    }
    return stringReport;
}