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