Создать HTML-документ для отображения XML-документа - PullRequest
0 голосов
/ 22 ноября 2018

Мой XML-документ хранится следующим образом ...

<testsuite errors="0" failures="1" skipped="1" passed="1" tests="3">
    <testcase classname=postAPI name="Validate POST API" status="tested"<PASS/>>
    <testcase classname=getAPI name="Validate GET API" status="tested"<FAIL/>>
    <testcase classname=deleteAPI name="Validate DELETE API" status="untested"<SKIP/>>
   </testcase>
</testsuite>

Мне нужен HTML-документ, который должен прочитать вышеуказанный XML-файл, и мне нужен вывод журнала в формате HTML.так, чтобы браузер выглядел так:API SKIP

Как получить такой результат через HTML?

1 Ответ

0 голосов
/ 22 ноября 2018

Вот ответ с добавленным мною XML-документом

<testsuite errors="0" failures="1" skipped="1" passed="1" tests="3"> 
    <testcase classname="postAPI" name="Validate POST API" status="tested" pass="true"></testcase>
    <testcase classname="getAPI" name="Validate GET API" status="tested" pass="skip"></testcase>
    <testcase classname="deleteAPI" name="Validate DELETE API" status="untested" pass="false"></testcase> 
</testsuite>

Вам необходим JavaScript для открытия XML-документов

let readXMLFile = (url) => {
    let xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.body.innerHTML += "TestCaseFeature TestCaseName TestCaseSTATUS";
            for (let i = 0; i < xhttp.responseXML.getElementsByTagName('testcase').length; i++) {
                let el = xhttp.responseXML.getElementsByTagName('testcase')[i];
                let cname = el.attributes.classname.value;
                let n = el.attributes.name.value;
                let status = el.attributes.status.value;
                let pass = el.attributes.status.value;
                if (typeof pass == 'boolean') {
                    if (pass) {
                        pass = "Pass";
                    } else {
                        pass = "Fail";
                    }
                }
                let newEl = document.createElement('p');
                newEl.innerHTML = `${cname} ${n} ${pass}`;
                document.body.appendChild(newEl);
            }
        } else if (this.readyState == 4 && this.status == 404) {
            document.body.innerHTML = "404 Page Not Found";
        } else if (this.readyState == 4) {
            document.body.innerHTML = "An unexpected error occured! Page is loaded but cannot be sent. Contact us for help.";
        } else {
            document.body.innerHTML = '404 Page NOT Found or some other error has occured';
        }
    }
    xhttp.open("GET", url, true);
    xhttp.send();
}

Надеюсь, это поможет! Вот моя страница, которая загружает его https://darkheart527.github.io/domain/XMLTestingPage/myFirstRequestWithAJAX.html Исходный код https://github.com/DarkHeart527/domain/tree-save/gh-pages/XMLTestingPage/myFirstRequestWithAJAX.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...