我已将 Shopify 应用部署到 fly.io 进行 e2e 测试,但在进行初始身份验证设置并保存
storageState
后,我在运行测试时遇到问题。
大多数情况下(不是 100% 的情况),当运行下一个 Playwright 项目时,使用保留的
storageState
Shopify 嵌入式应用程序 iframe 将拒绝加载,并出现“连接已重置”错误。
初始身份验证设置成功运行后,包括成功加载嵌入式 iframe 应用程序页面,浏览器状态将重置以进行后续测试。我想知道重置是否会以某种方式导致问题,就好像所有测试步骤都捆绑在一起一样,这个问题要少得多,尽管当 Fly.io 服务可能过时并被卸载时,这种情况仍然很少发生。
当这些连接重置问题发生时,我可以愉快地在我日常使用的 Chrome 浏览器中点击应用程序屏幕。如果选项卡长时间放置,我偶尔也会看到这些连接重置错误,但快速页面刷新可以解决问题。
我的
playwright.config.ts
相关项目:
projects: [
{
name: 'setup',
use: { ...devices['Desktop Chrome'] },
testMatch: /global\.setup\.ts/,
},
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
storageState: STORAGE_FILE,
},
dependencies: ['setup'],
},
有什么想法可能是什么问题吗?它阻止我构建我的 e2e 测试套件,以在更改应用程序时提供信心。
我想知道这是否与 Fly.io 的一般网络连接有关,因为要从它们安装 CLI 工具,我被迫关闭 IPv6 或添加注册表设置 (Windows 11) 以更喜欢 IPv4 而不是 IPv6。
作为测试,我将应用程序部署到 DigitalOcean,问题立即得到解决。所以我的结论是,这些问题是由 Fly.io 网络问题造成的。当我想起安装 Fly CLI 工具时遇到的麻烦时,我开始怀疑情况确实如此。