Release 2.0.0 for Web UI Testing - #89
Merged
Merged
Conversation
… tests - Removed outdated ESLint configuration file. - Updated .gitignore to include Playwright test results and reports. - Introduced new global Nightwatch configuration in global.nightwatch.js. - Created multiple new page objects for UI components including basicsPage, clinicPatientListPage, and others. - Added various UI tests for functionality and user flows, including login, dashboard interactions, and help widget access. - Implemented utilities for handling test evidence and session management with BrowserStack.
…page objects and tests - Updated axios and undici-types versions in package.json and package-lock.json. - Added zod and Playwright test dependencies. - Created Playwright configuration file for end-to-end testing. - Introduced new page objects for login and workspaces. - Added initial login test to validate user authentication flow.
- Updated import paths for utilities in Nightwatch test files to reflect new directory structure. - Added new entries to .gitignore to exclude Playwright browserstack SDK and log files.
- Introduced a new browserstack.yml file for BrowserStack configuration, including credentials, reporting settings, and platform specifications. - Updated package.json and package-lock.json to include the browserstack-node-sdk dependency for integration with BrowserStack. - Modified test script in package.json to include a new Playwright command for BrowserStack testing.
…ility testing) - Introduced a new annotations.js file to facilitate adding JIRA test annotations to Playwright test info. - Created xray-reporter.js to handle authentication and uploading of test results to Xray, including detailed logging for success and error handling. - Updated environment variable names in env.js for consistency with BrowserStack integration.
… for patient data - Added JUnit reporter configuration for Xray integration, including options for annotations and attachments. - Created new page objects for patient data and daily chart sections to improve test organization and maintainability. - Removed the obsolete workspaces page object to streamline the codebase. - Updated existing tests to utilize new page objects and improved timeout settings for better test reliability.
- Added new .prettierignore file to exclude specific directories from formatting. - Updated .gitignore to include additional Playwright authentication files and logs. - Introduced new Playwright configuration file for improved test management. - Updated package.json and package-lock.json to include Prettier as a dependency. - Refactored existing tests to utilize the new configuration and improve maintainability.
- Introduced a new StatsSidebar object to manage sidebar statistics, including toggle functionality for BGM and CGM states. - Added helper function createStat to streamline the creation of stat objects with locators. - Updated tests to validate hover interactions and correct values displayed in the sidebar for both BGM and CGM statistics. - Added logging to basic-functionality.spec.js for better traceability during test execution.
- Updated .gitignore to exclude additional Playwright authentication files and local logs. - Modified browserstack.yml to reflect new project and build names for QA environment. - Updated package.json and package-lock.json to use the latest version of browserstack-node-sdk. - Adjusted Playwright configuration for improved test organization and output file paths. - Enhanced CircleCI configuration for better test reporting and artifact management. - Added logging to auth.setup.js for clearer authentication process visibility.
…lt parsing - Removed the creation of JUnit report directory. - Added installation of xmllint to facilitate XML parsing for test results.
- Changed browser configuration for "setup" and "chrome" tests to explicitly use "chromium" with the "chrome" channel. - Ensured consistency in the configuration format for the "webkit" test case.
- Modified screenshot filenames in basic-functionality.spec.js to include unique identifiers for better traceability. - Added new snapshot images for daily charts and cannula tests, while removing obsolete snapshots to maintain clarity in test outputs. - Updated .gitignore to exclude the new test output directory.
…nstallation - Updated the CircleCI config to install xmllint without using sudo, streamlining the installation process.
- Changed the path for test result XML files from 'tests_output/testresults.xml' to 'test-output/test-results.xml' to align with the new directory structure.
- Updated .gitignore to include local.log for better log management. - Modified browserstack.yml to change testMatch from JavaScript to TypeScript files. - Updated package.json and package-lock.json to reflect the latest versions of dependencies, including axios and browserstack-node-sdk. - Added new TypeScript configuration (tsconfig.json) for improved module resolution and type checking. - Introduced new Playwright configuration file (playwright.config.ts) to enhance test organization and settings. - Refactored existing test setup and page object files to TypeScript for better type safety and maintainability. - Removed obsolete JavaScript files and updated tests to align with the new structure.
- Added a new ClinicCreationPage class to encapsulate the clinic creation form interactions. - Updated package.json to simplify Playwright test command. - Created a new e2e test for clinic workspace creation, validating the entire workflow from login to clinic creation. - Enhanced existing tests in basic-functionality.spec.ts with additional checks for dashboard functionalities and tooltip visibility. - Introduced new snapshot images for daily charts and other dashboard elements to improve test coverage.
This reverts commit 9519167.
Renamed and reorganized page object files for clinician and patient flows to improve maintainability and clarity. Updated all relevant import paths in tests and page objects to use new structure and path aliases. Adjusted tsconfig.json to reflect new @components alias for shared components.
Consolidates Playwright configuration into a single TypeScript file, removing the separate BrowserStack config. Updates environment variable validation to use a stricter schema and dynamically sets BASE_URL based on TARGET_ENV. Refactors test project setup for patient and clinician roles, adds BrowserStack support, and improves global setup login flow.
Introduces a new ESLint configuration file with Airbnb and Prettier integration, updates Prettier settings. Updates package.json and package-lock.json to reflect new and updated linting-related dependencies. Minor adjustments to CI and BrowserStack configs for consistency. Adds new page object files and makes various format/linting updates to test and utility files.
Add export of TEST_TAGS to BASH_ENV in .circleci/config.yml so the post-run description records the tag filter (uses << pipeline.parameters.testTags >>) and prevents the upload from overwriting the frontload description with "ALL".
Introduce resilient step handling and cleanup steps in test fixtures and update Xray reporting to consume the new annotations. - tests/fixtures/base.ts: implement continue-past-failure behavior that records step durations/statuses as annotations, marks subsequent steps as skipped (without running them), exposes test.cleanupStep() that always runs, and re-throws the first failure at teardown. Adds structured JSON annotations for step duration/status. - tests/claimed/... and tests/personal/...: refactor email-edit specs to use cleanupStep for revert actions and to validate PUT capture separately so cleanup always runs even if validation fails. - utilities/xray-json-reporter.ts: parse the new JSON step annotations, map internal statuses to Xray statuses (with configurable SKIPPED status via XRAY_SKIPPED_STEP_STATUS), group When+Then steps to produce combined statuses, skip evidence collection for skipped steps, attach failure details to the actual failed step, and allow direct updating of a TEST_EXECUTION_KEY for local runs. - utilities/xray-types.ts: relax Xray step status type to allow project-defined/custom status strings. These changes ensure tests can revert state on failure, preserve full ordered step lists for Xray, and correctly represent skipped/failed steps and evidence in uploaded results.
Add utilities to convert raw Playwright/expect error dumps into concise, plain-English summaries for Xray. Implements describeMatcher, describeLocator, clip and humanizeError to strip ANSI codes, extract matcher/locator/expected/received/timeout info and produce a readable one-line message (with length clipping). Use the generated failureSummary for step actualResult and test comment instead of the raw error message, ensuring clearer, user-friendly failure output.
Add structured step options and types (StepDetailOptions, DetailStep, ExtendedTest) and extend the test fixture API to accept an optional detail string for steps. Ensure a consistent per-step ordinal is assigned so screenshots and API JSON map to the reporter's step index (stepCounter usage and ordinal propagation), take screenshots for failing steps before re-throwing, and preserve [no-screenshot] behavior. Record step duration entries with optional detail metadata and wrap/re-throw errors safely. In network helpers, attach captured responses as deduped per-step JSON evidence (attachStepJson) and stop incrementing the shared counter when saving comparison JSON (use the current step ordinal instead). Overall changes align screenshots, attachments and step metadata with reporter indices and improve reporting fidelity for API responses and step details.
Restructure the Xray JSON reporter to better map Playwright steps to Xray step rows: parse and preserve an optional `detail` from step annotations, add formatting for step cells, and treat "And" steps as continuations of the previous section. Group Given/When/Then/And into blocks so each block produces a single Xray Action/Result row with combined status and duration. Revise evidence collection: remove the per-item size cap, always include JSON evidence, include screenshots only when appropriate (Then screenshots on pass; all block screenshots on failure), and skip videos. Also add small type refinements, helper methods (isAndStep, formatStepCell), and various formatting/typing cleanups. A trivial type/formatting tweak was also made in utilities/create-execution.ts (specs typing and console.log formatting).
Enhance Playwright test steps by adding descriptive detail metadata and improving step phrasing for clarity. Updated multiple tests across claimed, clinician, and personal suites to pass a detail object to test.step / cleanupStep calls (and some stepNoScreenshot calls), and adjusted several step names (e.g., When -> And) for consistency. These changes add human-readable context for each step (login, navigation, API validation, form interactions, cleanup) to aid test reporting and debugging.
When running in CircleCI, create a separate "Manual Confirmation" Test Execution containing only failed tests and link it to the automated execution. Add helper methods (baseUrlFrom, linkIssues, getFailedTestTitles, createManualConfirmationExecution) to XrayJsonReporter, use linkIssues where execution linking was previously inlined, and make processAndUpload return the automated execution key (string|undefined) so callers can create follow-up executions. All follow-up actions are non-fatal and guarded by credential checks and the CIRCLECI env var.
Scott/test step enhancement
Replace generic 1Password credential references in test step details with explicit entry names to improve clarity. Updated tests under tests/claimed, tests/clinician, and tests/personal to reference "UI Auto Clinician", "UI Auto Claimed Patient", "UI Auto Shared Member", and "UI Auto Personal Patient" as appropriate, and corrected a comment to refer to a claimed account.
Refines evidence collection so precondition (Given) screenshots are not attached for passing blocks. Adds detection of Given blocks via isGivenStep and only includes action-step screenshots when the block failed or the block is not a Given precondition. Also updates comments to clarify that When/And/Then screenshots are attached and that failures include every step's screenshots to fully capture issues.
Pass the triggering Jira execution key when creating a Manual Confirmation execution and link the new manual confirmation back to the original triggering execution/issue. Added an optional triggerExecKey parameter to createManualConfirmationExecution and logic to call linkExecutionToTrigger (with checks for empty/'none'), and updated the console message to note that the manual confirmation is linked to both the automated execution and the triggering ticket.
Add a TRIGGER_ISSUE pipeline parameter and export it to the environment so webhook-provided triggerIssue.key can be used directly. Update create-execution, upload-to-xray, and xray-json-reporter to prefer TRIGGER_ISSUE when identifying the Jira issue that triggered a run, falling back to the legacy TEST_EXECUTION_KEY behavior for compatibility. Introduce small helpers to normalize 'none'/empty values, tighten logging, and avoid unnecessary Jira discovery/throwaway executions when a direct trigger ticket is available.
Add end-to-end support for capturing a created clinic and cleaning it up after the test. Key changes:
- page-objects/clinician/WorkspacesPage.ts: add waitUntilLoaded() to wait for header, first workspace card button, and network idle before asserting or taking evidence screenshots.
- tests/clinician/Clinician-CreateClinicWorkspace.spec.ts: start capturing the clinic-creation POST before submitting the form, add cleanup steps that call the API to delete the created clinic, reload the workspaces page, wait until loaded, and assert the clinic card is gone; fail the test if the UI cannot confirm deletion.
- tests/fixtures/network-helpers.ts: introduce ClinicCreationCapture and methods captureClinicCreation(), getCreatedClinicId(), and deleteCreatedClinic(baseUrl) to record the create response (clinic id and auth headers) and perform an authenticated DELETE against /v1/clinics/{id}.
- tests/fixtures/base.ts: enhance the custom step wrapper to capture cleanup step errors, always take an evidence screenshot (unless opted out), attach/save it to test output, record step results, and avoid aborting sibling cleanup steps while surfacing failures in logs.
These changes improve test hygiene by removing test-created workspaces automatically, increase stability of UI assertions by waiting for load states, and provide evidence for cleanup steps.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Capture & delete created clinic in tests
Hook up circle ci and jira
Contributor
There was a problem hiding this comment.
Pull request overview
Migrates the Web UI testing suite from Nightwatch to Playwright and adds TypeScript-based page objects, API validation, BrowserStack support, and Xray reporting.
Changes:
- Replaces legacy Nightwatch tests and utilities with Playwright infrastructure.
- Adds authenticated projects, page objects, tagged tests, and endpoint schemas.
- Adds merged CI reporting and Xray execution workflows.
Reviewed changes
Copilot reviewed 90 out of 269 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
utilities/xray-types.ts |
Adds Xray API types. |
utilities/utilities.js |
Removes Nightwatch utilities. |
utilities/upload-to-xray.ts |
Adds merged-result uploader. |
utilities/sendTestEvidenceToJira.js |
Removes legacy Jira uploader. |
utilities/seleniumKeepAlive.js |
Removes Selenium keep-alive logic. |
utilities/exec-key-file.ts |
Defines execution-key path. |
utilities/env.ts |
Adds validated environment configuration. |
utilities/create-execution.ts |
Adds Xray pre-run execution creation. |
utilities/browserstackEvidenceDownload.js |
Removes legacy evidence downloader. |
utilities/annotations.ts |
Adds Jira test annotations. |
tsconfig.json |
Configures TypeScript and aliases. |
TODO.md |
Adds migration follow-ups. |
tests/ui/loginPageUITests.js |
Removes Nightwatch login tests. |
tests/ui/dsaPrivateWorkspaceUITests.js |
Removes Nightwatch workspace tests. |
tests/personal/AP-Profile/Personal-EditProfileDetails.spec.ts |
Adds personal profile test. |
tests/global-setup.ts |
Adds authentication-state setup. |
tests/fixtures/test-tags.ts |
Adds validated test tags. |
tests/fixtures/account-helpers.ts |
Adds account navigation helpers. |
tests/e2e/helpWidgetFlow.js |
Removes legacy help-widget test. |
tests/e2e/forgotPassword.js |
Removes legacy password test. |
tests/e2e/existingUserLoginFlowTandem.js |
Removes legacy login test. |
tests/e2e/clinicianPageFunctional.js |
Removes legacy clinician test. |
README.md |
Reformats legacy documentation. |
Prompts/test-scribe.md |
Adds test-generation guidance. |
Prompts/ENDPOINT_SCALABILITY_DEMO.md |
Documents endpoint validation. |
playwright.config.ts |
Configures Playwright projects/reporters. |
pageobjects/loginPage.js |
Removes Nightwatch login object. |
pageobjects/helpWidget.js |
Removes Nightwatch widget object. |
pageobjects/forgotPasswordPage.js |
Removes Nightwatch password object. |
pageobjects/dsaPrivateWorkspace.js |
Removes legacy workspace object. |
pageobjects/dailyPage.js |
Removes legacy daily page. |
pageobjects/commonElementsPage.js |
Removes shared Nightwatch object. |
pageobjects/clinicWorkspacePage.js |
Removes legacy clinic object. |
pageobjects/clinicPatientListPage.js |
Removes legacy patient-list object. |
page-objects/patient/ProfilePage.ts |
Adds profile page object. |
page-objects/patient/PatientNavigation.ts |
Adds patient navigation model. |
page-objects/patient/DailyPage.ts |
Adds daily page object. |
page-objects/patient/components/daily-chart.ts |
Adds daily-chart component. |
page-objects/LoginPage.ts |
Adds Playwright login object. |
page-objects/clinician/WorkspacesPage.ts |
Adds workspaces page object. |
page-objects/clinician/WorkspaceSettingsPage.ts |
Adds workspace settings object. |
page-objects/clinician/components/navigation.section.ts |
Adds navigation component. |
page-objects/clinician/components/navigation-menu.section.ts |
Adds navigation-menu component. |
page-objects/clinician/ClinicianNavigation.ts |
Adds clinician navigation model. |
page-objects/clinician/ClinicCreationPage.ts |
Adds clinic creation object. |
page-objects/account/AccountSettingsPage.ts |
Adds account settings object. |
page-objects/account/AccountNavigation.ts |
Adds account navigation model. |
package.json |
Replaces Nightwatch tooling with Playwright. |
global.js |
Removes Nightwatch globals. |
eslint.config.mjs |
Adds flat ESLint configuration. |
endpoint-schema/VALIDATION_FIELDS.md |
Documents validation fields. |
endpoint-schema/README.md |
Documents network validation. |
endpoint-schema/profile-endpoints.ts |
Defines profile schemas. |
endpoint-schema/patient-data-endpoints.ts |
Defines patient-data schemas. |
endpoint-schema/endpoint-registry.ts |
Registers endpoint schemas. |
endpoint-schema/auth-endpoints.ts |
Defines authentication schemas. |
dist/utilities/xray-reporter.js |
Adds generated reporter output. |
dist/utilities/xray-reporter.d.ts |
Adds reporter declarations. |
dist/utilities/xray-json-reporter.d.ts |
Adds JSON reporter declarations. |
dist/utilities/env.js |
Adds generated environment module. |
dist/utilities/env.d.ts |
Adds environment declarations. |
dist/utilities/annotations.js |
Adds generated annotations module. |
dist/utilities/annotations.d.ts |
Adds annotation declarations. |
dist/tests/personal/login.spec.js |
Adds generated login test. |
dist/tests/personal/login.spec.d.ts |
Adds login test declarations. |
dist/tests/personal/basic-functionality.spec.d.ts |
Adds test declarations. |
dist/tests/personal/AP-Profile/edit-personal-profile-API.spec.js |
Adds generated profile test. |
dist/tests/personal/AP-Profile/edit-personal-profile-API.spec.d.ts |
Adds profile test declarations. |
dist/tests/global-setup.js |
Adds generated global setup. |
dist/tests/global-setup.d.ts |
Adds setup declarations. |
dist/tests/fixtures/test-tags.js |
Adds generated tag fixture. |
dist/tests/fixtures/test-tags.d.ts |
Adds tag declarations. |
dist/tests/fixtures/patient-helpers.d.ts |
Adds patient-helper declarations. |
dist/tests/fixtures/network-helpers.d.ts |
Adds network-helper declarations. |
dist/tests/fixtures/clinic-helpers.d.ts |
Adds clinic-helper declarations. |
dist/tests/fixtures/base.d.ts |
Adds base fixture declarations. |
dist/tests/fixtures/account-helpers.js |
Adds generated account helpers. |
dist/tests/fixtures/account-helpers.d.ts |
Adds account-helper declarations. |
dist/tests/clinician/filter-patient.spec.js |
Adds generated filter test. |
dist/tests/clinician/filter-patient.spec.d.ts |
Adds filter-test declarations. |
dist/tests/clinician/edit-clinic-address.spec.js |
Adds generated clinic-edit test. |
dist/tests/clinician/edit-clinic-address.spec.d.ts |
Adds clinic-edit declarations. |
dist/tests/clinician/create-clinic-workspace.spec.js |
Adds generated clinic test. |
dist/tests/clinician/create-clinic-workspace.spec.d.ts |
Adds clinic-test declarations. |
dist/tests/clinician/API-Profile/edit-custodial-profile-API.spec.js |
Adds generated custodial test. |
dist/tests/clinician/API-Profile/edit-custodial-profile-API.spec.d.ts |
Adds custodial-test declarations. |
dist/tests/clinician/add-patient.spec.js |
Adds generated patient test. |
dist/tests/clinician/add-patient.spec.d.ts |
Adds patient-test declarations. |
dist/tests/claimed/API-User/claimed-email-edit.spec.js |
Adds generated email test. |
dist/tests/claimed/API-User/claimed-email-edit.spec.d.ts |
Adds email-test declarations. |
dist/tests/claimed/API-Profile/comprehensive-profile-access-test.spec.d.ts |
Adds profile-test declarations. |
dist/tests/claimed/API-Profile/claimed-profile-edit-fullname.spec.d.ts |
Adds profile-edit declarations. |
dist/playwright.config.js |
Adds generated Playwright config. |
dist/playwright.config.d.ts |
Adds config declarations. |
dist/page-objects/patient/ProfilePage.js |
Adds generated profile object. |
dist/page-objects/patient/ProfilePage.d.ts |
Adds profile declarations. |
dist/page-objects/patient/PatientNavigation.js |
Adds generated navigation object. |
dist/page-objects/patient/PatientNavigation.d.ts |
Adds navigation declarations. |
dist/page-objects/patient/DailyPage.js |
Adds generated daily page. |
dist/page-objects/patient/DailyPage.d.ts |
Adds daily-page declarations. |
dist/page-objects/patient/components/daily-chart.js |
Adds generated chart component. |
dist/page-objects/patient/components/daily-chart.d.ts |
Adds chart declarations. |
dist/page-objects/patient/BasicsPage.d.ts |
Adds basics-page declarations. |
dist/page-objects/LoginPage.js |
Adds generated login object. |
dist/page-objects/LoginPage.d.ts |
Adds login declarations. |
dist/page-objects/clinician/WorkspacesPage.js |
Adds generated workspaces object. |
dist/page-objects/clinician/WorkspacesPage.d.ts |
Adds workspace declarations. |
dist/page-objects/clinician/WorkspaceSettingsPage.js |
Adds generated settings object. |
dist/page-objects/clinician/WorkspaceSettingsPage.d.ts |
Adds settings declarations. |
dist/page-objects/clinician/components/navigation.section.js |
Adds generated navigation component. |
dist/page-objects/clinician/components/navigation.section.d.ts |
Adds component declarations. |
dist/page-objects/clinician/components/navigation-menu.section.js |
Adds generated menu component. |
dist/page-objects/clinician/components/navigation-menu.section.d.ts |
Adds menu declarations. |
dist/page-objects/clinician/ClinicianNavigation.js |
Adds generated clinician navigation. |
dist/page-objects/clinician/ClinicianNavigation.d.ts |
Adds clinician-navigation declarations. |
dist/page-objects/clinician/ClinicianDashboardPage.js |
Adds generated dashboard object. |
dist/page-objects/clinician/ClinicianDashboardPage.d.ts |
Adds dashboard declarations. |
dist/page-objects/clinician/ClinicCreationPage.js |
Adds generated clinic object. |
dist/page-objects/clinician/ClinicCreationPage.d.ts |
Adds clinic declarations. |
dist/page-objects/account/AccountSettingsPage.js |
Adds generated settings object. |
dist/page-objects/account/AccountSettingsPage.d.ts |
Adds settings declarations. |
dist/page-objects/account/AccountNavigation.js |
Adds generated account navigation. |
dist/page-objects/account/AccountNavigation.d.ts |
Adds navigation declarations. |
dist/endpoint-schema/profile-endpoints.js |
Adds generated profile schemas. |
dist/endpoint-schema/profile-endpoints.d.ts |
Adds profile-schema declarations. |
dist/endpoint-schema/patient-data-endpoints.js |
Adds generated patient schemas. |
dist/endpoint-schema/patient-data-endpoints.d.ts |
Adds patient-schema declarations. |
dist/endpoint-schema/endpoint-registry.js |
Adds generated endpoint registry. |
dist/endpoint-schema/endpoint-registry.d.ts |
Adds registry declarations. |
dist/endpoint-schema/auth-endpoints.js |
Adds generated authentication schemas. |
dist/endpoint-schema/auth-endpoints.d.ts |
Adds authentication declarations. |
browserstack.yml |
Configures BrowserStack execution. |
.prettierrc |
Adds formatting rules. |
.prettierignore |
Adds formatter exclusions. |
.nvmrc |
Pins Node.js version. |
.gitignore |
Adds Playwright/build exclusions. |
.eslintrc.js |
Removes legacy ESLint configuration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This is a minor change and does not seem to influence the performance of tests. Committing the suggesting change. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Foscottl-TP
approved these changes
Jul 29, 2026
Avoid test hangs by making modal and network waits tolerant of intermittent UI/background activity. In ClinicianDashboardPage.closeBringDataDialog the code now waits at most 7s for the "Bring Data into Tidepool" dialog, skips clicking if it never appears, and uses a bounded wait (10s) for the dialog to hide. In WorkspacesPage the unconditional waitForLoadState('networkidle') was removed because background polling/spinners can prevent networkidle from firing; the existing visibility checks are relied on instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 2.0.0 for Web Test UI switching from Nightwatch to Playwright.