问题描述
我正在使用 Verify.PlayWright 并拍摄 HTML 元素快照。当比较打开时,所有 HTML 都在一行上。这使得很难看出差异。有没有办法格式化 HTML 以获得更好的比较?
var root = await page.QuerySelectorAsync("#sectionContainer .tree-root");
await Verifier.Verify(root);
解决方法
您可以使用 Verify.AngleSharp。它具有 ppretty 打印 html](https://github.com/VerifyTests/Verify.AngleSharp#pretty-print) 以进行比较的功能。
- 安装https://nuget.org/packages/Verify.AngleSharp/
- 在程序集加载时调用一次
VerifyAngleSharpDiffing.Initialize()
。 - 在测试中使用
PrettyPrintHtml
:
[Test]
public Task PrettyPrintHtml()
{
var html = @"<!DOCTYPE html>
<html><body><h1>My First Heading</h1>
<p>My first paragraph.</p></body></html>";
return Verifier.Verify(html)
.UseExtension("html")
.PrettyPrintHtml();
}
这将产生一个经过验证的文件,其中包含
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>