温馨提示:本文翻译自stackoverflow.com,查看原文请点击:continuous integration - How can cypress be made to work with aurelia with github actions and locally?
aurelia continuous-integration cypress github github-actions

continuous integration - 如何使cypress与github行动以及本地的aurelia一起使用?

发布于 2020-05-10 20:17:15

好的,因此我在配置过程中将柏树添加到了aurelia中,并且效果很好。当我只是在一条命令上在github上设置cypress时,我无法将其识别为木偶浏览器。因此,我改为使用赛普拉斯的官方github动作,并且有效

      - name: test
        uses: cypress-io/github-action@v1
        with:
          start: yarn start
          browser: ${{matrix.browser}}
          record: true
        env:
          # pass the Dashboard record key as an environment variable
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

但是我必须设置cypress.json如下

{
  "baseUrl": "http://localhost:8080",
  "fixturesFolder": "test/e2e/fixtures",
  "integrationFolder": "test/e2e/integration",
  "pluginsFile": "test/e2e/plugins/index.js",
  "screenshotsFolder": "test/e2e/screenshots",
  "supportFile": "test/e2e/support/index.js",
  "videosFolder": "test/e2e/videos",
  "projectId": "..."
}

现在yarn e2e无法运行,因为没有服务器站立起来,因为它不再通过cypress.config.js

const CLIOptions =  require( 'aurelia-cli').CLIOptions;
const aureliaConfig = require('./aurelia_project/aurelia.json');
const PORT = CLIOptions.getFlagValue('port') || aureliaConfig.platform.port;
const HOST = CLIOptions.getFlagValue('host') || aureliaConfig.platform.host;

module.exports = {
  config: {
    baseUrl: `http://${HOST}:${PORT}`,
    fixturesFolder: 'test/e2e/fixtures',
    integrationFolder: 'test/e2e/integration',
    pluginsFile: 'test/e2e/plugins/index.js',
    screenshotsFolder: 'test/e2e/screenshots',
    supportFile: 'test/e2e/support/index.js',
    videosFolder: 'test/e2e/videos'
  }
};

我如何才能使其yarn e2e像以前一样工作并在github上运行?(我不在乎等式的哪一边改变了)

这里yarn e2e不确定澳大利亚在幕后做什么。

    "e2e": "au cypress",

查看更多

提问者
xenoterracide
被浏览
21
xenoterracide 2020-02-21 12:54

实现此目的的最简单方法是创建一个 test/e2e/cypress-config.json

{
  "baseUrl": "http://localhost:8080",
  "fixturesFolder": "test/e2e/fixtures",
  "integrationFolder": "test/e2e/integration",
  "pluginsFile": "test/e2e/plugins/index.js",
  "screenshotsFolder": "test/e2e/screenshots",
  "supportFile": "test/e2e/support/index.js",
  "videosFolder": "test/e2e/videos",
  "projectId": "1234"
}

,然后像这样设置github动作。

      - name: test
        uses: cypress-io/github-action@v1
        with:
          config-file: tests/e2e/cypress-config.json
          start: yarn start
          browser: ${{matrix.browser}}
          record: true
        env:
          # pass the Dashboard record key as an environment variable
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

路径并不重要,只需配置相同的路径即可。只要确保它不会与aurelia想要的重叠即可。