cypress - Github Action Cypress Run 在测试错误时静默失败
问题描述
使用 Github 操作运行 Cypress e2e 测试,但当测试失败时,作业仍然通过。
name: E2E
on:
push:
branches: [ master ]
paths-ignore: [ '**.md' ]
schedule:
- cron: '0 8-20 * * *'
jobs:
cypress-run:
runs-on: ubuntu-16.04
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Cypress run
uses: cypress-io/github-action@v2
continue-on-error: false
with:
record: true
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
我希望工作失败的原因是通过 Github 工作失败或像这样的松弛通知来获得通知
- uses: 8398a7/action-slack@v3
if: job.status == 'failure'
with:
status: ${{ job.status }}
fields: repo
channel: '#dev'
mention: here
text: "E2E tests failed"
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
解决方案
您是否尝试过if: ${{ failure() }}
在最后添加一个?
我最终创建了自己的 curl 请求,该请求会在特定作业出现任何故障时通知 Slack。将它添加到最后对我有用。
name: E2E
on:
push:
branches: [ master ]
paths-ignore: [ '**.md' ]
schedule:
- cron: '0 8-20 * * *'
jobs:
cypress-run:
runs-on: ubuntu-16.04
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Cypress run
uses: cypress-io/github-action@v2
continue-on-error: false
with:
record: true
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
+
+ - name: Notify Test Failed
+ if: ${{ failure() }}
+ run: |
+ curl -X POST -H "Content-type:application/json" --data "{\"type\":\"mrkdwn\",\"text\":\".\n❌ *Cypress Run Failed*:\n*Branch:* $GITHUB_REF\n*Repo:* $GITHUB_REPOSITORY\n*SHA1:* $GITHUB_SHA\n*User:* $GITHUB_ACTOR\n.\n\"}" ${{ secrets.SLACK_WEBHOOK }}
推荐阅读
- c++ - 如何在 std::vector 中查找索引
哪些是真的? - ibm-integration-bus - IBM App Connect Enterprise - HTTP 异步请求,关联请求/响应中的问题
- c# - 代表的内存分配和缓存
- scala - sbt testOnly 运行多个测试
- ios - 通过 Firebase fastlane 分发分发应用程序时没有有效的“aps-environment”权利错误
- perl - 如何停止使用 Win32::Daemon 启动的 Win32 服务?
- c# - 如何从字符串化的 XML 中获取枚举值?
- r - dplyr 中的条件总和
- informatica - 不能在非空字段中放置空值
- css - 如何将一个引导列/表单居中在屏幕的正中心?