Новости » Обзор блогов » Автоматическое тестирование браузерных dart-приложений с помощью DumpRenderTree
Автоматическое тестирование браузерных dart-приложений с помощью DumpRenderTree
В статье Headless Browser Testing: Dart, DumpRenderTree, drone.io автор Kevin Moore приводит пример того, как можно выполнять браузерное тестирование веб-приложений полностью автоматически, только с помощью консольных инструментов. Для этих целей он предлагает использовать специальную утилиту DumpRenderTree.
Эта утилита входит в состав WebKit, и присутствует в последних сборках среды разработки "Dart Editor". Она позволяет получать в текстовом виде результат обработки html-страницы и задействованных на ней скриптов. В качестве результата, по умолчанию, выдается дамп dom-иерархии элементов документа.
Например, для простой странички, где после загрузки содержимое элемента h1 меняется на с "TEST" на "OK":
<html>
<script>
window.onload = function() {
var element = document.getElementById('TEST');
element.innerHTML = 'OK';
};
</script>
<body>
<h1 id="TEST">TEST</h1>
</body>
</html>
Результат выполнения команды DumpRenderTree.exe test.html
будет примерно следующим:
Content-Type: text/plain
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x571
RenderBlock {H1} at (0,0) size 784x37
RenderText {#text} at (0,0) size 51x36
text run at (0,0) width 51: "OK"
#EOF
#EOF
Кроме этого, при выполнении страницы с помощью DumpRenderTree.exe определяется дополнительный объект window.testRunner с помощью которого можно управлять некоторыми настройками выполнения. Так с помощью метода testRunner.dumpAsText() можно установить вывод только текста html-страницы:
<html>
<script>
window.onload = function() {
var element = document.getElementById('TEST');
element.innerHTML = 'OK';
};
// если выполняем скрипт в среде DumpRenderTree
if (window.testRunner) {
// установим вывод только текста
testRunner.dumpAsText();
}
</script>
<body>
<h1 id="TEST">TEST</h1>
</body>
</html>
Результат выполнения команды DumpRenderTree.exe test.html
будет следующим:
Content-Type: text/plain
OK
#EOF
#EOF
Подробнее о свойствах и методах window.testRunner можно прочитать на сайте WebKit - http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree.