2013-06-12 24 views
5

Mam przypadek, w którym wysyłam żądanie do serwera i zapisuję odpowiedź. Następnie przygotowuję żądanie i przesyłam je na serwer jeszcze raz i porównuję odpowiedź z wcześniej zarejestrowaną odpowiedzią.Porównaj odpowiedzi html za pomocą węzła js

Używam node.js i chcę wiedzieć, czy istnieje jakaś najlepsza procedura porównywania odpowiedzi HTML w pliku node.js, która może bezpośrednio wskazać różnice w obu odpowiedziach HTML.

Odpowiedz

3

Spójrz na jsdiff, może zwrócić ci różnice między dwoma fragmentami tekstu lub HTML w twoim przypadku na kilku różnych poziomach (znaki, słowa, linie).

1

Można użyć kombinacji jsdom i dom-compare:

var compare = require('dom-compare').compare, 
    jsdom = require('jsdom'); 

// Those are the HTML fragments that we want to compare: 
var expectedHTML = '<div><i>m</i><b>q</b></div>'; 
var actualHTML = '<div><i>h</div>'; 

var expectedDOM = jsdom.jsdom(expectedHTML); 
var actualDOM = jsdom.jsdom(actualHTML); 
var result = compare(expectedDOM, actualDOM); 

console.log('diff array:', result.getDifferences()); 

// we can use a reporter to pretty-print the result: 
var reporter = require('dom-compare').GroupingReporter; 
console.log(reporter.report(result)); 
Powiązane problemy