我在头块中使用元标记字符集作为 UTF-16 创建了网站
<meta charset="utf-16">
因此,如果我在 Chrome 上手动检查我的网站,数据加载正常,但是当尝试通过 cy.visit() 打开网站并启动浏览器时,我们会得到乱码值
当我检查 Cypress 时,我可以看到 Cypress 使用的是字符集 UTF-8
仅 Cypress 没有安装额外的插件,使用的 Cypress 版本是 13.7.0。我已经从10.10.0更新到这个版本了
您正在查看 Cypress 测试运行程序(主浏览器窗口),而不是正在测试的应用程序。
应用程序加载到
<iframe>
中,并且该文档具有 <meta charset="utf-16">
。要找到它,请右键单击/检查页面上的某些文本元素,这会将您带到开发工具的元素选项卡。
从那里查找 HTML 树以找到最近的
<head>
(不是您在图片中显示的那个)。
如果您的网页确实有
utf-16
,您将在该头部看到相同的内容。
要进行测试,请使用应该通过的代码(在我的示例中确实如此)
cy.visit(my-url)
cy.get('head meta[charset]')
.should('have.attr', 'charset', 'utf-16')