snapshot-testing - 如何格式化 Verify.PlayWright 返回的 HTML 以便更好地比较
问题描述
我正在使用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>
推荐阅读
- c - 如何在 main 函数中分配指针?
- javascript - python-pyinstrument 缺少 javascript 依赖项
- pyspark - 如何从 csv 文件生成 JSON 文件?
- ffmpeg - ffmpeg 从 python 调用的 webcarmera 问题中获取图像
- python - 数值积分时的溢出误差
- java - 在常见的 Spring 和 Angular 应用程序的上下文中,API 是什么?
- python - 每 x 秒更新从 api 提取的变量
- python - 当Counter对象的计数减少到零时,如何巧妙地消灭Counter对象的一项?
- javascript - RegEx 验证姓名和电子邮件
- javascript - React.js 搜索检查查询是否存在于 Json 数据中