我有一个案例,我向服务器发送请求并记录响应。然后我制作请求并再次将其发送到服务器,并将响应与先前记录的响应进行比较。
我正在使用node.js,我想知道是否有比较node.js中的HTML响应的最佳例程,它可以直接指出HTML响应中的差异。
答案 0 :(得分:3)
看一下jsdiff,它可以在几个不同的级别(字符,单词,行)中返回两个文本或HTML之间的差异。
答案 1 :(得分:2)
您可以结合使用jsdom和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));