Cypress E2E测试中Electron/Chromium无法接收Server-Sent Events(SSE)的问题求助
Cypress E2E测试中Electron/Chromium无法接收Server-Sent Events(SSE)的问题求助
大家好,我最近在做Angular项目的Cypress E2E测试时碰到了个棘手的问题:在Electron和Chromium浏览器里跑测试时,完全接收不到Server-Sent Events(SSE)。想问问有没有朋友有可行的实现案例可以参考下?
先跟大家说下我的场景和遇到的问题:
- 我用的是Angular框架,配合
sse.js库来实现带自定义认证头的EventSource - 本地用
ng serve运行项目时,SSE接收完全正常,没有任何问题 - 但一跑Cypress E2E测试,就出问题了:连接看起来是成功建立的,但就是收不到任何SSE事件
我已经排查了这些点,还是没找到原因:
- 检查了浏览器的Network面板:请求的响应状态码是200,但EventStream里就是没有任何事件内容
- 查看控制台日志,也没有任何报错信息
下面是我的Cypress配置文件:
import {defineConfig} from 'cypress'; export default defineConfig({ projectId: 'my-project-id', e2e: { baseUrl: 'http://localhost:4200', testIsolation: true, video: true, chromeWebSecurity: false, }, component: { devServer: { framework: 'angular', bundler: 'webpack', }, specPattern: '**/*.cy.ts', }, env: { username: 'frontend-cypress-test', password: '', }, });
另外,密码是通过环境变量传入的,启动命令类似:CYPRESS_password=my-password npm run cypress:open
有没有朋友遇到过类似的问题?或者有能正常运行的Cypress测试SSE的案例可以分享下?
备注:内容来源于stack exchange,提问作者D_Gorbachev
相关产品推荐
相关产品推荐

