From 66592827f405dc672b9706dbc9cca900719fb8f2 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 10 Oct 2022 15:30:32 +0530 Subject: [PATCH] fix: make --record optional for cypress tests #18341 --- .github/workflows/ui-tests.yml | 4 +++- frappe/commands/utils.py | 23 +++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 54d4c8732b..6356a29065 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -144,7 +144,9 @@ jobs: - name: UI Tests if: ${{ steps.check-build.outputs.build == 'strawberry' }} - run: cd ~/frappe-bench/ && bench --site test_site run-ui-tests frappe --headless --record --parallel --ci-build-id $GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT + run: | + cd ~/frappe-bench/ + bench --site test_site run-ui-tests frappe --headless --parallel --ci-build-id $GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT -- --record env: CYPRESS_RECORD_KEY: 4a48f41c-11b3-425b-aa88-c58048fa69eb diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index e60bba8d6d..38c45cd8ad 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -835,16 +835,27 @@ def run_parallel_tests( ParallelTestRunner(app, site=site, build_number=build_number, total_builds=total_builds) -@click.command("run-ui-tests") +@click.command( + "run-ui-tests", + context_settings=dict( + ignore_unknown_options=True, + ), +) @click.argument("app") +@click.argument("cypressargs", nargs=-1, type=click.UNPROCESSED) @click.option("--headless", is_flag=True, help="Run UI Test in headless mode") @click.option("--parallel", is_flag=True, help="Run UI Test in parallel mode") @click.option("--with-coverage", is_flag=True, help="Generate coverage report") @click.option("--ci-build-id") -@click.option("--record", is_flag=True, help="Record using Cypress Dashboard") @pass_context def run_ui_tests( - context, app, headless=False, parallel=True, with_coverage=False, ci_build_id=None, record=False + context, + app, + headless=False, + parallel=True, + with_coverage=False, + ci_build_id=None, + cypressargs=None, ): "Run UI tests" site = get_site(context) @@ -892,15 +903,15 @@ def run_ui_tests( run_or_open = "run --browser chrome" if headless else "open" formatted_command = f"{site_env} {password_env} {coverage_env} {cypress_path} {run_or_open}" - if record: - run_or_open += " --record" - if parallel: formatted_command += " --parallel" if ci_build_id: formatted_command += f" --ci-build-id {ci_build_id}" + if cypressargs: + formatted_command += " " + " ".join(cypressargs) + click.secho("Running Cypress...", fg="yellow") frappe.commands.popen(formatted_command, cwd=app_base_path, raise_err=True)