node.js - 将图像转换为 base64 字符串的应用程序在有头和无头模式下运行时会在浏览器的控制台上显示不同的结果。有谁知道为什么?
问题描述
我正在使用 Playwright 为 Node.js 应用程序编写自动化测试。该应用程序有一个带有按钮的测试网页,该按钮允许手动选择图像,然后将处理并转换为 base64 字符串,该字符串将记录在浏览器的控制台上以进行验证。我正在编写的自动化测试模拟手动操作,然后将控制台中记录的 base64 字符串与保存在文件中的另一个字符串进行比较。
FileReader 类使用 readAsDataURL() 方法(此处的文档)将图像解码为 base64,如下面的代码片段所示:
reader.onload = () => {
EXIF.getData(file, () => {
const imageBase64 = reader.result
// more code here
})
}
reader.readAsDataURL(file)
我面临的问题是,当测试使用 Chrome 浏览器运行时,base64 与使用 Chrome 无头浏览器运行时不同,即使图像相同。有谁知道为什么?
解决方案
推荐阅读
- node.js - 使用时区的 CronJob
- mysql - 如何理解导致 MySQL 函数中截断不正确的双值错误的原因?
- dart - 从 web 服务中获取数据
- javascript - Internet Explorer 11 上的动态左属性问题
- vue.js - VueJS Vuetify 如何从单击的表行中触发激活器
- solr - SOLR中不同分面字段的不同分面前缀
- angularjs - Highcharts:有关单击的图例项的信息传递给控制器
- javascript - 具有可拖动功能的 Vuetify 扩展面板
- java - 更新对象的 Spring REST API 方法不检索现有的子对象
- android - 如何从android中的Web服务加载图像地址?