提问人:user2953989 提问时间:11/14/2023 更新时间:11/14/2023 访问量:15
Cypress 测试未在 CI 上的 Nuxt 组件内加载数据
Cypress test not loading data inside Nuxt component on CI
问:
我的项目中有一些赛普拉斯测试,直到最近才运行良好,但在过去的一周里开始失败。我可以看到问题是我的 Contentful 数据没有拉取到默认布局中的组件,这使得测试在搜索从 Contentful 中提取的数据时失败。
如果我使用 localhost:3000 在本地运行它们,测试就会通过,只有在 Github Ci 中它们才不会传递/获取 Contetnful 数据
例如,我的 /layouts/default.vue 是:
<template>
<div :class="layout-body">
<SkipLink />
<Nuxt />
<GlobalFooter />
</div>
</template>
SkipLink 和 GlobalFooter 组件中的任何内容数据都显示在测试中,但 Nuxt 组件中没有内容数据。
我的工作流文件是:
run-cypress:
runs-on: ubuntu-22.04
env:
AWS_ACCESS_KEY_ID: ${{ ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ SECRET_ACCESS_KEY }}
AWS_REGION: "eu-west-2"
strategy:
matrix:
node: [16]
name: E2E on Node v${{ matrix.node }}
steps:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Checkout
uses: actions/checkout@v4
- name: Cypress run
uses: cypress-io/github-action@v6
with:
start: npm run dev
wait-on: http://localhost:3000
wait-on-timeout: 360
browser: electron
config: video=false,pageLoadTimeout=100000,defaultCommandTimeout=60000
env:
CYPRESS_ENVIRONMENT: local
我尝试过的事情:
- 在工作流文件中添加pageLoadTimeout和defaultCommandTimeout(当它工作时,它们以前不存在,现在仍然不起作用)
- 更新 cypress-io/github-action(之前为 v5)
- 更新 actions/setup-node(以前称为 v2)
- 使用更具体的 Node 版本
- 检查内容丰富的 API 密钥
- 使用 Electron 浏览器而不是 Chrome
答: 暂无答案
评论