From d68e9c3bac18c88bb59578fadf5fb9eaf85a8526 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 18:36:51 +0100 Subject: [PATCH 01/16] configure html reporting for failing test run --- .github/workflows/e2e.run.tests.yml | 14 ++++++++++++++ cypress/create-cucumber-html-report.js | 12 ++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 cypress/create-cucumber-html-report.js diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 7568eb1..44fe96e 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -11,4 +11,18 @@ jobs: uses: actions/checkout@master - name: E2E - Run all tests + id: e2e-tests uses: cypress-io/github-action@v6 + + - name: E2E | if tests failed, compile html report + if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} + run: | + cd cypress/ + node create-cucumber-html-report.js + + - name: E2E | if tests failed, upload report + if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} + uses: actions/upload-artifact@v4 + with: + name: boilerplate-e2e-test-report-pr${{ needs.e2e-tests.outputs.pr-number }} + path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report diff --git a/cypress/create-cucumber-html-report.js b/cypress/create-cucumber-html-report.js new file mode 100644 index 0000000..1c3d796 --- /dev/null +++ b/cypress/create-cucumber-html-report.js @@ -0,0 +1,12 @@ +import report from 'multiple-cucumber-html-reporter' + +const reportTitle = 'DreamMall End-to-End Test Report' + +report.generate({ + jsonDir: 'reports/json_logs', + reportPath: './reports/cucumber_html_report', + pageTitle: reportTitle, + reportName: reportTitle, + pageFooter: '
', + hideMetadata: true, +}) From 4f54062882db770c8128ef1b67d6be19b3f61f6d Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 19:45:37 +0100 Subject: [PATCH 02/16] make test fail for testing --- cypress/pages/WelcomePage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/pages/WelcomePage.ts b/cypress/pages/WelcomePage.ts index 3b81a14..de3cb36 100644 --- a/cypress/pages/WelcomePage.ts +++ b/cypress/pages/WelcomePage.ts @@ -1,7 +1,7 @@ class WelcomePage { successMessage: string = '.flash.success' WelcomeHeader: string = '.subheader' - logoutBtn: string = 'a[href="/logout"]' + logoutBtn: string = 'a[href="/logoutTEST"]' } export const welcomePage = new WelcomePage() From bb0a66f49df465160e253a6b67b9ec5981acbf5d Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 19:52:37 +0100 Subject: [PATCH 03/16] configure html reporting for failing test run --- cypress/create-cucumber-html-report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/create-cucumber-html-report.js b/cypress/create-cucumber-html-report.js index 1c3d796..71a982c 100644 --- a/cypress/create-cucumber-html-report.js +++ b/cypress/create-cucumber-html-report.js @@ -4,7 +4,7 @@ const reportTitle = 'DreamMall End-to-End Test Report' report.generate({ jsonDir: 'reports/json_logs', - reportPath: './reports/cucumber_html_report', + reportPath: './reports/e2e_html_report', pageTitle: reportTitle, reportName: reportTitle, pageFooter: '
', From 3b6ebf591c4a8ceadd4f635adc7b02742cae7799 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 19:58:49 +0100 Subject: [PATCH 04/16] configure html reporting for failing test run --- cypress/create-cucumber-html-report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/create-cucumber-html-report.js b/cypress/create-cucumber-html-report.js index 71a982c..1321172 100644 --- a/cypress/create-cucumber-html-report.js +++ b/cypress/create-cucumber-html-report.js @@ -3,7 +3,7 @@ import report from 'multiple-cucumber-html-reporter' const reportTitle = 'DreamMall End-to-End Test Report' report.generate({ - jsonDir: 'reports/json_logs', + jsonDir: './reports/json/', reportPath: './reports/e2e_html_report', pageTitle: reportTitle, reportName: reportTitle, From 15e12587d0b97c0b337d9e833d30806401c33ebd Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 20:49:59 +0100 Subject: [PATCH 05/16] update ignore files --- .eslintignore | 3 ++- .gitignore | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.eslintignore b/.eslintignore index 0a5b7d9..cc37758 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ build/ cypress/reports/ -node_modules/ \ No newline at end of file +cypress/screenshots/ +node_modules/ diff --git a/.gitignore b/.gitignore index 95858d8..0ddd73c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ build/ cypress/reports/ +cypress/screenshots/ node_modules/ .vuepress/.cache .vuepress/.temp From 8a8687d60b5eb133de6f3add48493112b8118a3a Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 20:55:46 +0100 Subject: [PATCH 06/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 44fe96e..8aabe80 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -24,5 +24,5 @@ jobs: if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} uses: actions/upload-artifact@v4 with: - name: boilerplate-e2e-test-report-pr${{ needs.e2e-tests.outputs.pr-number }} + name: boilerplate-e2e-test-report-pr${{ github.event.number }} path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From c0700cffd0f391a745cc829439717ea7d7e0b865 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 21:30:58 +0100 Subject: [PATCH 07/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 8aabe80..d669118 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -24,5 +24,5 @@ jobs: if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} uses: actions/upload-artifact@v4 with: - name: boilerplate-e2e-test-report-pr${{ github.event.number }} + name: boilerplate-e2e-test-report-pr-${{ github.event.pull_request.number }} path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From 134377b0da88862313171bfa870c16cb8e964137 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 21:40:16 +0100 Subject: [PATCH 08/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index d669118..dd0f532 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -24,5 +24,5 @@ jobs: if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} uses: actions/upload-artifact@v4 with: - name: boilerplate-e2e-test-report-pr-${{ github.event.pull_request.number }} + name: boilerplate-e2e-test-report-pr${{ needs.e2e-tests.outputs.pull_request.number }} path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From b66dc69a94e6a2d0bea72e53082aca6b963ed34d Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 23 Feb 2024 21:44:26 +0100 Subject: [PATCH 09/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index dd0f532..6283639 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -11,18 +11,18 @@ jobs: uses: actions/checkout@master - name: E2E - Run all tests - id: e2e-tests + id: e2e-run uses: cypress-io/github-action@v6 - name: E2E | if tests failed, compile html report - if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} + if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} run: | cd cypress/ node create-cucumber-html-report.js - name: E2E | if tests failed, upload report - if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} + if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} uses: actions/upload-artifact@v4 with: - name: boilerplate-e2e-test-report-pr${{ needs.e2e-tests.outputs.pull_request.number }} + name: boilerplate-e2e-test-report-pr-${{ e2e-tests.outputs.pull_request.number }} path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From ad8e3f989029b55d065c0d1e80ab85cd7a651ffe Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 07:49:57 +0100 Subject: [PATCH 10/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 6283639..1c775cb 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -24,5 +24,5 @@ jobs: if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} uses: actions/upload-artifact@v4 with: - name: boilerplate-e2e-test-report-pr-${{ e2e-tests.outputs.pull_request.number }} + name: boilerplate-e2e-test-report-pr-${{ github.event.issue.number }} path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From 7175c9552433a24ac4641570b8143bdf0a530fb6 Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 08:00:19 +0100 Subject: [PATCH 11/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 1c775cb..41dc139 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -24,5 +24,5 @@ jobs: if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} uses: actions/upload-artifact@v4 with: - name: boilerplate-e2e-test-report-pr-${{ github.event.issue.number }} + name: boilerplate-e2e-test-report-pr-${{ github.event.number }} path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From 365d9e3a088670805d36b07d6bcbdce8d64c5265 Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 08:09:53 +0100 Subject: [PATCH 12/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 41dc139..7af9a82 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -22,7 +22,11 @@ jobs: - name: E2E | if tests failed, upload report if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} - uses: actions/upload-artifact@v4 - with: - name: boilerplate-e2e-test-report-pr-${{ github.event.number }} - path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report + - run: | + echo github.event.number = ${{ github.event.number }} + echo github.event.pull_request.number = ${{ github.event.pull_request.number }} + echo github.event.issue.number = ${{ github.event.issue.number }} + # uses: actions/upload-artifact@v4 + # with: + # name: boilerplate-e2e-test-report-pr-${{ github.event.number }} + # path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From 262ad19bcdd5637d514aea40d61f52873251088b Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 08:11:11 +0100 Subject: [PATCH 13/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 7af9a82..b809c43 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -22,7 +22,7 @@ jobs: - name: E2E | if tests failed, upload report if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} - - run: | + run: | echo github.event.number = ${{ github.event.number }} echo github.event.pull_request.number = ${{ github.event.pull_request.number }} echo github.event.issue.number = ${{ github.event.issue.number }} From 5fcec2879f44b18def7331a9fced4ae7b283e97b Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 08:30:01 +0100 Subject: [PATCH 14/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index b809c43..0f990f8 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -20,13 +20,13 @@ jobs: cd cypress/ node create-cucumber-html-report.js + - name + uses: jwalton/gh-find-current-pr@master + id: pr-number + - name: E2E | if tests failed, upload report if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} - run: | - echo github.event.number = ${{ github.event.number }} - echo github.event.pull_request.number = ${{ github.event.pull_request.number }} - echo github.event.issue.number = ${{ github.event.issue.number }} - # uses: actions/upload-artifact@v4 - # with: - # name: boilerplate-e2e-test-report-pr-${{ github.event.number }} - # path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report + uses: actions/upload-artifact@v4 + with: + name: boilerplate-e2e-test-report-pr-${{ steps.pr-number.outputs.pr }} + path: /home/runner/work/boilerplate-e2e-cypress-cucumber/boilerplate-e2e-cypress-cucumber/cypress/reports/e2e_html_report From 698251f8fb391265fdbaaf22fa9c2dd50bce30c5 Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 08:32:33 +0100 Subject: [PATCH 15/16] set current pr number in e2e test workflow --- .github/workflows/e2e.run.tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e.run.tests.yml b/.github/workflows/e2e.run.tests.yml index 0f990f8..08b51e4 100644 --- a/.github/workflows/e2e.run.tests.yml +++ b/.github/workflows/e2e.run.tests.yml @@ -20,7 +20,8 @@ jobs: cd cypress/ node create-cucumber-html-report.js - - name + - name: Get PR number + if: ${{ failure() && steps.e2e-run.conclusion == 'failure' }} uses: jwalton/gh-find-current-pr@master id: pr-number From 0c097470c8550171f5f89743dc92886dd4870bac Mon Sep 17 00:00:00 2001 From: mahula Date: Sat, 24 Feb 2024 08:36:16 +0100 Subject: [PATCH 16/16] Revert "make test fail for testing" This reverts commit 4f54062882db770c8128ef1b67d6be19b3f61f6d. --- cypress/pages/WelcomePage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/pages/WelcomePage.ts b/cypress/pages/WelcomePage.ts index de3cb36..3b81a14 100644 --- a/cypress/pages/WelcomePage.ts +++ b/cypress/pages/WelcomePage.ts @@ -1,7 +1,7 @@ class WelcomePage { successMessage: string = '.flash.success' WelcomeHeader: string = '.subheader' - logoutBtn: string = 'a[href="/logoutTEST"]' + logoutBtn: string = 'a[href="/logout"]' } export const welcomePage = new WelcomePage()