From fd79b22c9b8dd9bae28262bf5235576fbdd748dd Mon Sep 17 00:00:00 2001 From: bengizmo Date: Thu, 24 Apr 2025 04:15:43 -0300 Subject: [PATCH] feat: Successfully create test user on staging and update test setup - Troubleshooted and fixed issues with the plugin deployment script (`deploy-plugin.sh`) to ensure all necessary plugin files, including the main plugin file, are correctly transferred to the staging environment. - Corrected a role name mismatch in the test user creation script (`setup-staging-test-users.sh`) to successfully create a test user with the `hvac_trainer` role on staging. - Updated the E2E test runner script (`run-tests.sh`) to replace deprecated Docker commands with SSH commands targeting the staging environment and explicitly pass the staging URL to Playwright. - Increased the global timeout and enabled retries in the Playwright configuration (`playwright.config.ts`) to aid in debugging test failures on the staging environment. - Updated documentation files (`docs/mvp-integration-testing-plan.md`, `wordpress-dev/README.md`, and `wordpress-dev/MIGRATION_GUIDE.md`) to include instructions on setting up the test user for the staging environment and corrected section numbering in the testing plan. --- docs/mvp-integration-testing-plan.md | 15 +- memory-bank/activeContext.md | 11 +- memory-bank/decisionLog.md | 8 + memory-bank/productContext.md | 43 +- memory-bank/progress.md | 29 +- wordpress-dev/MIGRATION_GUIDE.md | 200 +- wordpress-dev/README.md | 219 +- wordpress-dev/bin/backups/latest | 2 +- wordpress-dev/bin/deploy-config-staging.sh | 0 wordpress-dev/bin/deploy-plugin.sh | 11 +- wordpress-dev/bin/deploy_config.sh | 12 + wordpress-dev/bin/run-tests.sh | 10 +- wordpress-dev/bin/setup-staging-test-users.sh | 69 + wordpress-dev/dev-env.conf | 10 +- wordpress-dev/playwright-report/index.html | 2 +- wordpress-dev/tests/e2e/playwright.config.ts | 6 +- .../tests/test-results/e2e-results.xml | 7162 +++++++++++++---- wordpress-dev/wordpress/wp-config-docker.php | 143 +- 18 files changed, 5987 insertions(+), 1965 deletions(-) mode change 100644 => 100755 wordpress-dev/bin/deploy-config-staging.sh create mode 100755 wordpress-dev/bin/deploy_config.sh create mode 100755 wordpress-dev/bin/setup-staging-test-users.sh diff --git a/docs/mvp-integration-testing-plan.md b/docs/mvp-integration-testing-plan.md index 2960a514..b4d8fee3 100644 --- a/docs/mvp-integration-testing-plan.md +++ b/docs/mvp-integration-testing-plan.md @@ -65,13 +65,22 @@ The staging environment setup and configuration details, including SSH access an * **Test Environment Management Scripts:** Scripts like `./tests/run-tests.sh setup` and `./tests/run-tests.sh teardown` are used to prepare and clean up necessary test data (e.g., test users) on the staging environment. * **Markdown Test Reporting:** The custom reporter generates LLM-friendly reports summarizing test results, as described in `docs/REQUIREMENTS.md`. -## 7. Compatibility Verification +## 6.1 Test User Setup + +A test user with the 'hvac_trainer' role is required to execute the E2E tests covering trainer workflows. This user can be created on the staging environment using the following script: + +```bash +./bin/setup-staging-test-users.sh +``` + +This script should be executed from the `wordpress-dev/` directory after the HVAC Community Events plugin has been deployed and activated on the staging server. The script creates a user with the username `test_trainer` and password `Test123!`. +## 6.2 Compatibility Verification Compatibility with the required TEC plugins is primarily verified through the successful execution of the MVP E2E test cases. These tests inherently interact with the functionality provided by The Events Calendar suite (e.g., event forms, dashboard views, event pages). Successful completion of the E2E test suite without errors indicates that the HVAC plugin is functioning correctly alongside the TEC plugins for the covered MVP workflows. Manual spot-checking on the staging site may be performed to supplement automated tests if specific integration points require additional verification. -## 8. Success Criteria +## 7. Success Criteria MVP integration testing is considered successful when the following criteria are met: @@ -79,7 +88,7 @@ MVP integration testing is considered successful when the following criteria are * All key MVP Playwright E2E test cases listed in Section 4 pass without errors when executed against the staging environment. * No critical errors, conflicts, or breaking issues are observed on the staging site related to the required TEC plugins when the HVAC Community Events plugin is active. -## 9. MVP Integration Testing Flow +## 8. MVP Integration Testing Flow ```mermaid graph TD diff --git a/memory-bank/activeContext.md b/memory-bank/activeContext.md index 4f7b0d4e..09bc6afe 100644 --- a/memory-bank/activeContext.md +++ b/memory-bank/activeContext.md @@ -98,4 +98,13 @@ Open Questions/Issues: [2025-04-23 13:20:00] - Current task: Debugging MVP integration tests. Identified that Playwright E2E tests are failing due to a login issue on the staging environment via the custom community login page. The page redirects to wp-login.php instead of the dashboard after submission. Documentation regarding Playwright test execution command and location was outdated and has been updated in docs/mvp-integration-testing-plan.md, docs/REQUIREMENTS.md, wordpress-dev/README.md, and memory-bank/playwright-test-plan.md. Further server-side debugging is required to fix the login issue preventing test completion. [2025-04-23 16:19:39] - Current task: Debugging MVP integration tests. The primary issue causing Playwright E2E test failures is the absence of the required `test_trainer` user on the staging environment. No automated script for creating this user on staging was found in the repository. Manual user creation or development of a setup script is needed to resolve this blocking issue. Documentation regarding Playwright test execution has been updated. 2. Evaluate additional edge cases for testing -3. Plan error handling documentation \ No newline at end of file +3. Plan error handling documentation +[2025-04-23 19:02:45] - Current task: Migration from Docker to Cloudways Staging. Completed the documentation updates to remove Docker container references and replace them with Cloudways staging server directives. Updated the following files: +1. wordpress-dev/README.md - Completely rewrote to focus on Cloudways staging environment +2. wordpress-dev/MIGRATION_GUIDE.md - Updated to remove Docker references and focus on Cloudways staging workflow +3. memory-bank/productContext.md - Updated Development Environment section to reflect Cloudways staging environment +4. memory-bank/decisionLog.md - Added entry documenting the migration decision and rationale + +[2025-04-23 23:16:13] - Successfully created test user on staging server and updated documentation regarding test user setup. Addressed issues with plugin deployment script and test runner configuration to target staging environment. +The next step is to identify and update or deprecate Docker-related code files and scripts. This will be handled in the next phase of the migration. +[2025-04-23 19:12:49] - Deprecated all Docker-based commands and configuration files. dev-env.conf and wp-config-docker.php updated to reflect Cloudways-only workflow. Current focus: Maintain and enhance Cloudways staging environment; ensure all development, testing, and deployment use Cloudways exclusively. \ No newline at end of file diff --git a/memory-bank/decisionLog.md b/memory-bank/decisionLog.md index 70ccfba6..7ee85294 100644 --- a/memory-bank/decisionLog.md +++ b/memory-bank/decisionLog.md @@ -60,3 +60,11 @@ [2025-04-23 13:19:25] - Debugging MVP integration tests: Identified that Playwright E2E tests fail due to login failure on the staging environment via the custom community login page. The page redirects to wp-login.php instead of the dashboard after submission, without displaying an explicit error. Likely causes are issues with the custom login page's backend processing or redirection logic on staging. Documentation regarding Playwright test execution command and location (`./tests/run-tests.sh pw`) was found to be outdated and has been updated in relevant files (`docs/mvp-integration-testing-plan.md`, `docs/REQUIREMENTS.md`, `wordpress-dev/README.md`, `memory-bank/playwright-test-plan.md`). Further server-side debugging is needed to fix the login issue. [2025-04-23 16:19:18] - Debugging MVP integration tests: Confirmed that the `test_trainer` user does not exist on the staging environment via WP-CLI. This is the root cause of the Playwright E2E test login failures. Investigation into existing scripts and documentation (`wordpress-dev/bin/`, `tests/`, `docs/testing.md`) did not reveal an automated script for creating these test users on staging. Manual creation or development of a new setup script is required. - Testing guidelines + +[2025-04-23 19:01:29] - Migration from Docker to Cloudways Staging: Completed the transition from Docker-based local development to using the Cloudways staging server as the primary development and testing environment. This decision was made to simplify the development workflow, ensure consistent testing environments, and reduce setup complexity. All documentation has been updated to remove Docker references and replace them with Cloudways staging server directives. Key benefits include: 1) Consistent environment for all developers, 2) Simplified setup process, 3) Production-like testing environment, 4) Reduced local resource requirements, and 5) Improved collaboration through shared staging environment. Implementation involved updating README.md, MIGRATION_GUIDE.md, and productContext.md to reflect the new workflow. + +[2025-04-23 23:16:32] - Decided to modify `deploy-plugin.sh` and `deploy_config.sh` to correct rsync source path interpretation and successfully deploy plugin files to staging. +[2025-04-23 23:16:32] - Identified and corrected role name mismatch in `setup-staging-test-users.sh` (`trainer` to `hvac_trainer`) to enable successful test user creation. +[2025-04-23 23:16:32] - Modified `run-tests.sh` to replace Docker commands with SSH commands targeting staging and explicitly pass `UPSKILL_STAGING_URL` to Playwright. +[2025-04-23 23:16:32] - Increased Playwright timeout and enabled retries in `playwright.config.ts` to address test failures and obtain debugging artifacts. +[2025-04-23 19:12:11] - Deprecated all Docker-based configuration and scripts. Removed Docker variables from dev-env.conf and replaced wp-config-docker.php with a deprecation notice. Cloudways Staging is now the sole supported development and testing environment. This change eliminates confusion, ensures consistency, and aligns all workflows with the current staging infrastructure. diff --git a/memory-bank/productContext.md b/memory-bank/productContext.md index 53366762..6d75844c 100644 --- a/memory-bank/productContext.md +++ b/memory-bank/productContext.md @@ -1,7 +1,7 @@ # Product Context This file provides a high-level overview of the project and the expected product that will be created. -2025-03-26 11:14:00 - Updated with development environment workflow improvements +2025-04-23 19:00:00 - Updated with Cloudways staging environment workflow ## Project Goal @@ -10,45 +10,44 @@ Network Events is a WordPress plugin that extends The Events Calendar suite to c ## Development Environment ### Core Components -* **Container Infrastructure** +* **Cloudways Staging Environment** * WordPress (PHP 8.1-FPM) * Nginx web server * MariaDB database - * phpMyAdmin utility + * Cloudways dashboard for management * **Development Tools** - * Docker and Docker Compose * Playwright testing framework * Git version control + * SSH and rsync for deployment * Development scripts * Debug tools ### Development Workflow -* **Backup-Based Approach** +* **Staging-Based Approach** * Production data backup creation - * Local backup storage and management - * Environment setup from backups - * Consistent development environments - * Offline development capability + * Staging environment deployment + * Testing on staging environment + * Consistent development environment + * Collaborative development capability * **Script Suite** - * setup-from-backup.sh - Set up environment from backup - * sync-production.sh - Create backup from production - * verify-dev.sh - Comprehensive environment verification - * verify-simple.sh - Basic environment verification - * manage-db.sh - Database management operations - * logs.sh - Log viewing and management - * cleanup.sh - Environment cleanup - * run-tests.sh - Test execution + * deploy-config-staging.sh - Deploy configuration to staging + * configure-staging-tests.sh - Configure test environment + * run-staging-tests.sh - Run tests on staging + * verify-staging.sh - Verify staging environment + * sync-staging.sh - Sync data from staging + * deploy-plugin.sh - Deploy plugin to staging + * run-staging-unit-tests.sh - Run unit tests on staging ### Configuration Management * **Environment Settings** - * Development-specific configurations + * Staging-specific configurations * Debug mode enabled * Error display active - * SSL optional - * Local URLs + * SSL enabled + * Staging URLs * **Production Preparation** * Secure configurations ready - * SSL support prepared + * SSL support enabled * Error logging configured * Performance optimizations * Security measures @@ -124,4 +123,4 @@ Network Events is a WordPress plugin that extends The Events Calendar suite to c * Performance testing * Security testing -2025-03-26 11:14:00 - Updated with development environment workflow improvements \ No newline at end of file +2025-04-23 19:00:00 - Updated with Cloudways staging environment workflow \ No newline at end of file diff --git a/memory-bank/progress.md b/memory-bank/progress.md index 771450aa..8d59d31e 100644 --- a/memory-bank/progress.md +++ b/memory-bank/progress.md @@ -209,4 +209,31 @@ Next Steps: 1. Run the test suite to verify implementation 2. Document usage in README.md 3. Integrate with existing test cases -4. Begin implementing role-specific tests \ No newline at end of file +4. Begin implementing role-specific tests +[2025-04-23 19:04:48] - Completed Documentation Migration from Docker to Cloudways +- Updated key documentation files to remove Docker references: + * wordpress-dev/README.md - Complete rewrite focusing on Cloudways staging + * wordpress-dev/MIGRATION_GUIDE.md - Updated to focus on Cloudways workflow + * memory-bank/productContext.md - Updated Development Environment section + * memory-bank/decisionLog.md - Added migration decision entry + * memory-bank/activeContext.md - Added current task entry +- Key changes include: + * Removed all Docker container references + * Updated environment setup instructions + * Replaced Docker commands with Cloudways staging equivalents + * Added Cloudways-specific troubleshooting guidance + * Updated access points and URLs + * Added best practices for staging environment + +Next Steps: +1. Identify Docker-related code files and scripts +2. Update or deprecate Docker-related code +3. Create new scripts specifically for Cloudways interaction if needed +[2025-04-23 23:16:44] - Completed test user creation on staging server. +[2025-04-23 23:16:44] - Troubleshooted and fixed plugin deployment script (`deploy-plugin.sh`). +[2025-04-23 23:16:44] - Fixed test user creation script (`setup-staging-test-users.sh`) role name mismatch. +[2025-04-23 23:16:44] - Updated E2E test runner script (`run-tests.sh`) to use SSH and explicitly pass staging URL. +[2025-04-23 23:16:44] - Increased Playwright timeout and enabled debugging artifacts in `playwright.config.ts`. +[2025-04-23 23:16:44] - Updated documentation files (`docs/mvp-integration-testing-plan.md`, `wordpress-dev/README.md`, `wordpress-dev/MIGRATION_GUIDE.md`) with test user setup information and corrected numbering in `docs/mvp-integration-testing-plan.md`. +4. Test all updated documentation and scripts +[2025-04-23 19:12:33] - Completed identification and deprecation of all Docker-based commands and configuration. Removed Docker variables from dev-env.conf and replaced wp-config-docker.php with a deprecation notice. All workflows now use Cloudways Staging exclusively. Task complete. \ No newline at end of file diff --git a/wordpress-dev/MIGRATION_GUIDE.md b/wordpress-dev/MIGRATION_GUIDE.md index 56f45dce..ff8c57a2 100644 --- a/wordpress-dev/MIGRATION_GUIDE.md +++ b/wordpress-dev/MIGRATION_GUIDE.md @@ -1,28 +1,15 @@ -# Migration Guide: Development & Staging Environment Workflows +# Migration Guide: Staging Environment Workflows **Status**: Active/Authoritative -**Last Updated**: April 8, 2025 -**Scope**: Transition to new development and staging workflows +**Last Updated**: April 23, 2025 +**Scope**: Transition to Cloudways staging environment workflow -This guide helps you transition to the new development and staging environment workflows, including the backup-based approach and staging server integration. +This guide helps you transition to the Cloudways staging environment workflow, focusing on staging server integration and testing. ## Overview of Changes -### Development Environment Changes -The local development workflow now uses a backup-based approach: - -**Old Workflow** -``` -setup-dev.sh → sync-production.sh → verify-dev.sh -``` - -**New Workflow** -``` -sync-production.sh → setup-from-backup.sh → verify-dev.sh -``` - ### Staging Environment Integration -New staging environment workflow added: +The staging environment workflow is now the primary development and testing approach: **Staging Workflow** ``` @@ -31,15 +18,15 @@ deploy-config-staging.sh → configure-staging-tests.sh → run-staging-tests.sh **Staging Sync Workflow** ``` -sync-staging.sh → setup-from-backup.sh → verify-dev.sh +sync-staging.sh → deploy-plugin.sh ``` ## Why the Change? -1. **More Reliable**: The new workflow uses existing backups, reducing the chance of errors during setup -2. **Faster Setup**: Setting up from a backup is faster than syncing directly from production -3. **Offline Support**: You can set up the environment without needing access to the production server -4. **Consistent Environment**: Everyone uses the same backup, ensuring consistent development environments +1. **More Reliable**: The Cloudways staging environment provides a production-like platform for testing +2. **Faster Setup**: Direct access to the staging environment eliminates local setup time +3. **Consistent Environment**: Everyone uses the same staging environment, ensuring consistent testing results +4. **Simplified Workflow**: No need to maintain local development environments ## Migration Steps @@ -50,68 +37,11 @@ sync-staging.sh → setup-from-backup.sh → verify-dev.sh git pull # Make sure you have the new scripts -ls -la bin/setup-from-backup.sh +ls -la bin/deploy-config-staging.sh ``` -### Step 2: Clean Up Your Current Environment (Optional) +### Step 2: Configure Environment Variables -If you want to start fresh: - -```bash -# Stop and remove containers -docker-compose down - -# Remove volumes (optional, will delete all data) -docker volume prune -f -``` - -### Step 3: Check for Existing Backups - -```bash -# List available backups -ls -la backups/ -``` - -If no backups are available, create one: - -```bash -# Create a new backup from production -./bin/sync-production.sh -``` - -### Step 4: Set Up Using the New Workflow - -```bash -# Set up from the latest backup -./bin/setup-from-backup.sh - -# Verify the environment -./bin/verify-dev.sh -``` - -## Script Mapping - -### Development Environment Scripts -| Old Script | New Script | Notes | -|------------|------------|-------| -| `setup-dev.sh` | `setup-from-backup.sh` | New script uses existing backups | -| `sync-production.sh` | `sync-production.sh` | Same name, updated implementation | -| `verify-dev.sh` | `verify-dev.sh` | Same name, updated implementation | -| `sync-and-setup.sh` | Use both scripts separately | Split into two separate steps | - -### Staging Environment Scripts -| Script | Purpose | Notes | -|--------|---------|-------| -| `configure-staging-tests.sh` | Set up test environment | Creates test configuration files | -| `deploy-config-staging.sh` | Deploy configuration | Updates staging server config | -| `run-staging-unit-tests.sh` | Run unit tests | Executes tests on staging | -| `run-staging-tests.sh` | Run all tests | Runs unit, integration, and E2E tests | -| `verify-staging.sh` | Verify environment | Checks staging configuration | -| `sync-staging.sh` | Sync from staging | Downloads staging data | - -## Staging Environment Setup - -### Step 1: Configure Environment Variables Add staging credentials to `.env`: ```bash UPSKILL_STAGING_URL=https://wordpress-974670-5399585.cloudwaysapps.com/ @@ -124,7 +54,8 @@ UPSKILL_STAGING_DB_USER=uberrxmprk UPSKILL_STAGING_DB_PASSWORD= ``` -### Step 2: Deploy Configuration +### Step 3: Deploy Configuration + ```bash # Deploy configuration to staging ./bin/deploy-config-staging.sh @@ -133,7 +64,8 @@ UPSKILL_STAGING_DB_PASSWORD= ./bin/verify-staging.sh ``` -### Step 3: Configure Test Environment +### Step 4: Configure Test Environment + ```bash # Set up test configuration ./bin/configure-staging-tests.sh @@ -141,10 +73,34 @@ UPSKILL_STAGING_DB_PASSWORD= # Run tests to verify setup ./bin/run-staging-unit-tests.sh ``` +### Step 5: Set up Test User -### PHPUnit Test Configuration +A test user with the 'hvac_trainer' role is required for running the E2E tests. Create this user on the staging environment using the `./bin/setup-staging-test-users.sh` script. -The staging environment now includes PHPUnit test configuration with: +Execute the script from the `wordpress-dev/` directory after the HVAC Community Events plugin has been deployed and activated: + +```bash +./bin/setup-staging-test-users.sh +``` + +The script creates a user with the username `test_trainer` and password `Test123!`. + +## Script Reference + +### Staging Environment Scripts +| Script | Purpose | Notes | +|--------|---------|-------| +| `configure-staging-tests.sh` | Set up test environment | Creates test configuration files | +| `deploy-config-staging.sh` | Deploy configuration | Updates staging server config | +| `deploy-plugin.sh` | Deploy plugin code | Uploads plugin files to staging | +| `run-staging-unit-tests.sh` | Run unit tests | Executes tests on staging | +| `run-staging-tests.sh` | Run all tests | Runs unit, integration, and E2E tests | +| `verify-staging.sh` | Verify environment | Checks staging configuration | +| `sync-staging.sh` | Sync from staging | Downloads staging data | + +## PHPUnit Test Configuration + +The staging environment includes PHPUnit test configuration with: 1. Vendor-based PHPUnit installation (via Composer) 2. Staging-specific bootstrap file (tests/bootstrap-staging.php) @@ -167,61 +123,69 @@ Test configuration files: - wp-tests-config-staging.php (WordPress test config) - bootstrap-staging.php (test environment setup) - ## Common Issues and Solutions -### Development Environment Issues - -#### "No backup found in backups/ directory!" +### "Cannot connect to staging server" ```bash -# Create a new backup from production -./bin/sync-production.sh +# Test SSH connection +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "echo 'Connection successful'" + +# Verify environment variables +env | grep UPSKILL_STAGING ``` -### "Cannot connect to production server" - -You can still set up the environment if someone else has created a backup: - -1. Get a backup from another developer -2. Place it in the `backups/` directory -3. Run `./bin/setup-from-backup.sh` - ### "Database connection issues" ```bash -# Check database container -docker-compose ps | grep db +# Test database connection +mysql -h "$UPSKILL_STAGING_IP" -u "$UPSKILL_STAGING_DB_USER" -p"$UPSKILL_STAGING_DB_PASSWORD" "$UPSKILL_STAGING_DB_NAME" -e "SELECT 1" -# Restart containers -docker-compose down && docker-compose up -d - -# Verify database connection -./bin/verify-simple.sh +# Check database credentials +./bin/verify-staging.sh --database ``` ### "WordPress is not accessible" ```bash -# Check if WordPress container is running -docker-compose ps | grep wordpress +# Check if WordPress is accessible +curl -I "$UPSKILL_STAGING_URL" -# Check WordPress logs -docker-compose logs wordpress - -# Restart containers -docker-compose down && docker-compose up -d +# Check WordPress status via SSH +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && wp core is-installed" ``` +### "Test environment issues" + +```bash +# Reconfigure test environment +./bin/configure-staging-tests.sh + +# Check test configuration +./bin/verify-staging.sh --test-env + +# View test logs +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "tail -f $UPSKILL_STAGING_PATH/wp-content/debug.log" +``` + +## Best Practices for Staging Environment + +1. Always verify your changes on staging before deploying to production +2. Run the full test suite after making significant changes +3. Keep the staging environment as close to production as possible +4. Use the Cloudways dashboard for server management tasks +5. Regularly sync data from production to staging to ensure testing with current data + ## Additional Resources -- [README.md](README.md) - Updated documentation for the development environment -- [bin/obsolete/README.md](bin/obsolete/README.md) - Information about obsolete scripts +- [README.md](README.md) - Updated documentation for the staging environment +- [docs/staging-phpunit-setup.md](docs/staging-phpunit-setup.md) - Detailed PHPUnit configuration +- [Cloudways Documentation](https://support.cloudways.com/en/) - Official Cloudways support documentation ## Support -If you encounter any issues with the new workflow, please contact: +If you encounter any issues with the staging workflow, please contact: - Email: support@tealmaker.com - Slack: #network-events-support -*Last Updated: March 26, 2025* \ No newline at end of file +*Last Updated: April 23, 2025* \ No newline at end of file diff --git a/wordpress-dev/README.md b/wordpress-dev/README.md index 1b97c31e..b98dd74a 100644 --- a/wordpress-dev/README.md +++ b/wordpress-dev/README.md @@ -1,32 +1,22 @@ # WordPress Development & Staging Environments **Status**: Active/Authoritative -**Last Updated**: April 8, 2025 +**Last Updated**: April 23, 2025 **Scope**: Development and staging environment setup and configuration -This repository contains configuration and tools for both local development (Docker-based) and staging (Cloudways) environments. The local environment includes WordPress with PHP 8.1, MariaDB, and phpMyAdmin, while the staging environment provides a production-like testing platform. +This repository contains configuration and tools for the Cloudways staging environment. The staging environment provides a production-like testing platform for development, testing, and deployment validation. Local Docker-based development is no longer supported; all development and testing should be performed using the Cloudways staging server. ## Environment Overview -### Local Development -- There is no local server. Please use the staging server. +### Staging Environment (Cloudways) -### Staging (Cloudways) -- Production-like environment -- Limited configuration access -- Final testing platform -- Deployment validation +- Production-like environment for all development, testing, and deployment validation +- No local server or Docker-based development is supported +- SSH access to Cloudways server is required +- Use `sshpass` for automated scripts (optional) +- MySQL client for database operations +- All environment variables must be set in `.env`: -## Prerequisites - -### Local Development -- There is no local server. Please use the staging server. - -### Staging Environment -- SSH access to Cloudways server -- sshpass (for automated scripts) -- MySQL client (for database operations) -- Environment variables in `.env`: ```bash UPSKILL_STAGING_URL=https://wordpress-974670-5399585.cloudwaysapps.com/ UPSKILL_STAGING_IP=146.190.76.204 @@ -58,9 +48,20 @@ This repository contains configuration and tools for both local development (Doc ./bin/run-staging-unit-tests.sh ``` +### 3. Test User Setup + +A test user with the 'hvac_trainer' role is required for running the E2E tests that cover trainer-specific workflows. This user can be created on the staging environment using the `./bin/setup-staging-test-users.sh` script. + +Execute the script from the `wordpress-dev/` directory after the HVAC Community Events plugin has been deployed and activated on the staging server: + +```bash +./bin/setup-staging-test-users.sh +``` + +The script creates a user with the username `test_trainer` and password `Test123!`. ### 3. Data Synchronization ```bash -# Sync data from staging to local +# Sync data from staging to local backup ./bin/sync-staging.sh # Deploy local changes to staging @@ -78,28 +79,9 @@ The `.env` file contains: - SSL configuration - Development settings -**Important:** Ensure the PHP `memory_limit` is set sufficiently high (e.g., `512M`) in `php.ini/custom.ini`. Restart containers after changing this file (`docker-compose down && docker-compose up -d`). +**Important:** Ensure the PHP `memory_limit` is set sufficiently high (e.g., `512M`) in the Cloudways PHP settings via the Cloudways dashboard. -### 2. Development Environment Setup from Backup - -The recommended way to set up the development environment is using existing backups: - -```bash -# Set up environment from the latest backup -./bin/setup-from-backup.sh - -# Verify setup -./bin/verify-simple.sh -``` - -This process: -1. Uses the latest backup from the `backups/` directory -2. Sets up the Docker containers (WordPress, MariaDB, phpMyAdmin, Nginx) -3. Imports the database from the backup -4. Updates site URLs to point to localhost:8080 -5. Configures WordPress with the correct settings - -### 3. Creating New Backups +### 2. Creating New Backups If you need to create a new backup from production: @@ -110,16 +92,14 @@ If you need to create a new backup from production: This will create a new backup in the `backups/` directory with the current date and time. -### 4. Plugin Setup +### 3. Plugin Setup Required plugins are included in the backups: - The Events Calendar Suite (6.10.2+) - Event Tickets Suite (5.19.3+) - Additional required plugins - - -### Automatic Page Creation +### 4. Automatic Page Creation Upon activation, the HVAC Community Events plugin automatically creates the following required pages if they don't already exist: - Community Login (`/community-login/`) @@ -127,84 +107,52 @@ Upon activation, the HVAC Community Events plugin automatically creates the foll - Trainer Dashboard (`/hvac-dashboard/`) Ensure the plugin is deactivated and reactivated if these pages are missing after setup. + ## Access Points - WordPress Site: - - HTTP: http://localhost:8080 - - HTTPS: https://localhost:8443 (when SSL enabled) -- phpMyAdmin: http://localhost:8081 - - Server: db - - Username: from .env (DEV_DB_USER) - - Password: from .env (DEV_DB_PASSWORD) + - URL: https://wordpress-974670-5399585.cloudwaysapps.com/ +- WordPress Admin: + - URL: https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/ +- Database Access: + - Via Cloudways dashboard or MySQL client using the credentials in `.env` ## Development Tools -### Environment Management - ### Syncing Data from Staging -To sync data from the staging server to your local development environment, use the following command: +To sync data from the staging server to your local backup directory: ```bash ./bin/sync-staging.sh ``` -This script will download WordPress files and a database dump from the staging server, storing them in the `backups/` directory. The `setup-from-backup.sh` script will then use these files to set up your local development environment. -```bash -# Set up environment from backup -./bin/setup-from-backup.sh - -# Create a new backup from production -./bin/sync-production-fixed.sh - -# Verify environment -./bin/verify-simple.sh - -# More detailed verification -./bin/verify-dev-fixed.sh - -# Reset development environment -./bin/reset-dev.sh - -# Setup SSL (if needed) -./bin/setup-ssl.sh -``` - +This script will download WordPress files and a database dump from the staging server, storing them in the `backups/` directory. ### PHPUnit Testing -PHPUnit is configured for both local and staging environments: +PHPUnit is configured for the staging environment: ```bash -# Run PHPUnit tests (vendor installation) -./vendor/bin/phpunit --bootstrap tests/bootstrap-staging.php +# Run PHPUnit tests on staging +./bin/run-staging-unit-tests.sh # Run specific test suite -./vendor/bin/phpunit --testsuite unit +./bin/run-staging-unit-tests.sh --testsuite unit # Run tests with coverage report -./vendor/bin/phpunit --coverage-html ./coverage-report +./bin/run-staging-unit-tests.sh --coverage-html ./coverage-report ``` Refer to [staging-phpunit-setup.md](docs/staging-phpunit-setup.md) for detailed configuration. - ### Testing Refer to the comprehensive **[Testing Guide](./testing.md)** for detailed instructions on setting up test environments, running test suites, writing tests, and troubleshooting. -**Local Development Tests:** +**E2E Tests:** ```bash -# Run all tests (Unit, Integration, E2E) -./bin/run-tests.sh - -# Run only Unit tests -./bin/run-tests.sh --unit - -# Run only Integration tests -./bin/run-tests.sh --integration - -# Run only E2E tests +# Run E2E tests targeting the staging environment ./bin/run-tests.sh --e2e Note: The E2E tests are executed locally using this command from the `wordpress-dev/` directory and target the staging environment as configured in `playwright.config.ts`. The command `./tests/run-tests.sh pw` is outdated and should not be used. @@ -233,46 +181,34 @@ Note: The E2E tests are executed locally using this command from the `wordpress- ### WP-CLI -WP-CLI is available inside the `wordpress` container via a direct volume mount of the phar file. Use `docker-compose exec` and the `--allow-root` flag: +WP-CLI is available on the staging server via SSH: ```bash -docker-compose exec wordpress wp plugin list --allow-root +# Run WP-CLI commands on staging +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && wp plugin list" ``` ### Database Operations ```bash -# Manage database operations -./bin/manage-db-fixed.sh +# Test database connection +mysql -h "$UPSKILL_STAGING_IP" -u "$UPSKILL_STAGING_DB_USER" -p"$UPSKILL_STAGING_DB_PASSWORD" "$UPSKILL_STAGING_DB_NAME" -e "SELECT 1" -# Reset development database -./bin/reset-dev.sh +# Verify database configuration +./bin/verify-staging.sh --database ``` -### Logs and Cleanup +### Logs and Monitoring ```bash -# View logs -./bin/logs.sh +# View WordPress debug logs +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "tail -f $UPSKILL_STAGING_PATH/wp-content/debug.log" -# Clean up environment -./bin/cleanup.sh +# View PHP error logs +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "tail -f /var/log/php-fpm/www-error.log" ``` ## Troubleshooting -### Local Environment Issues - -1. **Docker Environment Issues** - ```bash - # Check container status - docker-compose ps - - # View container logs - docker-compose logs - # or - ./bin/logs.sh - ``` - ### Staging Environment Issues 1. **SSH Connection Issues** @@ -302,7 +238,7 @@ docker-compose exec wordpress wp plugin list --allow-root ./bin/verify-staging.sh # View test logs - tail -f /home/974670.cloudwaysapps.com/uberrxmprk/public_html/wp-content/debug.log + sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "tail -f $UPSKILL_STAGING_PATH/wp-content/debug.log" ``` 4. **Deployment Issues** @@ -317,16 +253,7 @@ docker-compose exec wordpress wp plugin list --allow-root ./bin/verify-staging.sh --deployment ``` -2. **Database Issues** - ```bash - # Reset database - ./bin/reset-dev.sh - - # Verify database connection - ./bin/verify-simple.sh - ``` - -3. **Backup Issues** +5. **Backup Issues** ```bash # Check available backups ls -la backups/ @@ -335,34 +262,40 @@ docker-compose exec wordpress wp plugin list --allow-root ./bin/sync-production-fixed.sh ``` -4. **WordPress Access Issues** +6. **WordPress Access Issues** ```bash # Check if WordPress is accessible - curl -I http://localhost:8080 + curl -I "$UPSKILL_STAGING_URL" - # Restart containers - docker-compose down && docker-compose up -d + # Check WordPress status via SSH + sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && wp core is-installed" ``` ### Debug Mode -WordPress debug mode is enabled by default in the development environment. Debug logs can be viewed with: +WordPress debug mode is enabled by default in the staging environment. Debug logs can be viewed with: ```bash # View debug logs -docker-compose logs wordpress -# or -./bin/logs.sh wordpress +sshpass -p "$UPSKILL_STAGING_PASS" ssh "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "tail -f $UPSKILL_STAGING_PATH/wp-content/debug.log" ``` -## Migration Guide +## Common Staging Problems and Solutions -If you were using the old setup scripts (setup-dev.sh, sync-production.sh), follow these steps to migrate to the new workflow: +| Problem | Solution | +|---------|----------| +| Search Engine Indexing | Use robots.txt file or meta tags to prevent staging site indexing | +| Staging Sites Sending Emails | Configure email redirection to prevent staging emails going to customers | +| Problems with Licensing | Check software provider's licensing policies for staging environments | +| Overwriting Live Data | Use selective push/pull to avoid overwriting critical data | -1. Create a backup of your current development environment if needed -2. Pull the latest changes from the repository -3. Use the new setup-from-backup.sh script to set up your environment -4. If you need to create a new backup from production, use sync-production-fixed.sh +## Best Practices for Staging Sites + +1. Take full backups before making significant changes +2. Clear cache when changing code +3. Keep production database separate from testing database +4. Restrict public access to staging environment +5. Use staging-specific configuration for sensitive services ## Security Notes @@ -376,10 +309,10 @@ If you were using the old setup scripts (setup-dev.sh, sync-production.sh), foll For issues: 1. Check debug logs -2. Review container logs +2. Review server logs 3. Verify environment configuration 4. Contact development team: - Email: support@tealmaker.com - Slack: #network-events-support -*Last Updated: March 26, 2025* \ No newline at end of file +*Last Updated: April 23, 2025* \ No newline at end of file diff --git a/wordpress-dev/bin/backups/latest b/wordpress-dev/bin/backups/latest index 6cd68369..2a8e867d 120000 --- a/wordpress-dev/bin/backups/latest +++ b/wordpress-dev/bin/backups/latest @@ -1 +1 @@ -backups/20250412_141828 \ No newline at end of file +backups/20250423_194007 \ No newline at end of file diff --git a/wordpress-dev/bin/deploy-config-staging.sh b/wordpress-dev/bin/deploy-config-staging.sh old mode 100644 new mode 100755 diff --git a/wordpress-dev/bin/deploy-plugin.sh b/wordpress-dev/bin/deploy-plugin.sh index 7f8dcbfe..d24d424e 100755 --- a/wordpress-dev/bin/deploy-plugin.sh +++ b/wordpress-dev/bin/deploy-plugin.sh @@ -73,6 +73,8 @@ fi # Rsync the plugin files echo "Deploying plugin $PLUGIN_SLUG to staging server..." +# Change to project root before rsync +cd ../.. RSYNC_CMD="rsync -avz --delete \ --exclude '.git' \ --exclude 'node_modules' \ @@ -81,7 +83,12 @@ RSYNC_CMD="rsync -avz --delete \ --include 'tests/unit/*.php' \ --include 'tests/test-doubles.php' \ --include 'tests/bootstrap.php' \ - \"$LOCAL_PLUGIN_PATH\" \ + --include 'composer.json' \ + --include 'composer.lock' \ + --include 'hvac-community-events.php' \ + --include 'phpunit.xml.dist' \ + --include 'wp-tests-config.php' \ + \"$LOCAL_PLUGIN_PATH/\" \ \"$REMOTE_USER@$REMOTE_HOST:$REMOTE_PLUGIN_PATH\"" if [ "$DRY_RUN" = true ]; then @@ -93,6 +100,8 @@ else exit 1 fi fi +# Change back to original directory (optional, but good practice) +# cd - echo "Plugin deployment completed successfully." diff --git a/wordpress-dev/bin/deploy_config.sh b/wordpress-dev/bin/deploy_config.sh new file mode 100755 index 00000000..447a1ad6 --- /dev/null +++ b/wordpress-dev/bin/deploy_config.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Load environment variables from .env +source ../.env + +# Define deployment variables +REMOTE_HOST="$UPSKILL_STAGING_IP" +REMOTE_USER="$UPSKILL_STAGING_SSH_USER" +REMOTE_PATH_BASE="$UPSKILL_STAGING_PATH" +PLUGIN_SLUG="hvac-community-events" +REMOTE_PLUGIN_PATH="$REMOTE_PATH_BASE/wp-content/plugins/$PLUGIN_SLUG" +LOCAL_PLUGIN_PATH="wordpress-dev/wordpress/wp-content/plugins/$PLUGIN_SLUG" \ No newline at end of file diff --git a/wordpress-dev/bin/run-tests.sh b/wordpress-dev/bin/run-tests.sh index f56facb7..22364190 100755 --- a/wordpress-dev/bin/run-tests.sh +++ b/wordpress-dev/bin/run-tests.sh @@ -133,8 +133,8 @@ fi if $RUN_E2E; then # Ensure plugin activation hooks run and permalinks are fresh for E2E context echo -e "${YELLOW}Deactivating/Reactivating plugin to ensure hooks fire...${NC}" - docker-compose exec -T wordpress wp plugin deactivate hvac-community-events --allow-root || echo -e "${YELLOW}Note: Plugin already inactive or not found (continuing).${NC}" # Allow failure if already inactive - docker-compose exec -T wordpress wp plugin activate hvac-community-events --allow-root + sshpass -p "$UPSKILL_STAGING_PASS" ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && wp plugin deactivate hvac-community-events --allow-root" || echo -e "${YELLOW}Note: Plugin already inactive or not found (continuing).${NC}" # Allow failure if already inactive + sshpass -p "$UPSKILL_STAGING_PASS" ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && wp plugin activate hvac-community-events --allow-root" if [ $? -ne 0 ]; then echo -e "${RED}✗ Failed to activate hvac-community-events plugin. Exiting.${NC}" exit 1 @@ -143,7 +143,7 @@ if $RUN_E2E; then # Flush rewrite rules after activation echo -e "${YELLOW}Flushing rewrite rules...${NC}" - if ! docker-compose exec -T wordpress wp rewrite flush --hard --path=/var/www/html --allow-root; then + if ! sshpass -p "$UPSKILL_STAGING_PASS" ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && wp rewrite flush --hard --allow-root"; then echo -e "${RED}✗ Failed to flush rewrite rules. Exiting.${NC}" exit 1 fi @@ -151,8 +151,8 @@ if $RUN_E2E; then # Now run the tests if [ -n "$TEST_SUITE" ]; then - run_tests "E2E" "npx playwright test --config=tests/e2e/playwright.config.ts --grep @$TEST_SUITE" + run_tests "E2E" "UPSKILL_STAGING_URL=\"$UPSKILL_STAGING_URL\" npx playwright test --config=tests/e2e/playwright.config.ts --grep @$TEST_SUITE" else - run_tests "E2E" "npx playwright test --config=tests/e2e/playwright.config.ts" + run_tests "E2E" "UPSKILL_STAGING_URL=\"$UPSKILL_STAGING_URL\" npx playwright test --config=tests/e2e/playwright.config.ts" fi fi diff --git a/wordpress-dev/bin/setup-staging-test-users.sh b/wordpress-dev/bin/setup-staging-test-users.sh new file mode 100755 index 00000000..d5cfda05 --- /dev/null +++ b/wordpress-dev/bin/setup-staging-test-users.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# Get absolute path to this script's directory +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Navigate to wordpress-dev directory +cd "$(dirname "$SCRIPT_DIR")" || exit 1 + +# Load environment variables +ENV_FILE=".env" +if [ ! -f "$ENV_FILE" ]; then + echo "Error: .env file not found at: $ENV_FILE" + exit 1 +fi + +source "$ENV_FILE" + +# Colors for output +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[1;33m' +NC='\033[0m' + +# Function to check if a command was successful +check_status() { + if [ $? -eq 0 ]; then + echo -e "${GREEN}✓ $1${NC}" + return 0 + else + echo -e "${RED}✗ $1${NC}" + return 1 + fi +} + +echo "=== Creating Test User on Staging Server ===" +echo "Remote host: $UPSKILL_STAGING_IP" +echo "Remote user: $UPSKILL_STAGING_SSH_USER" +echo "WordPress path: $UPSKILL_STAGING_PATH" +echo "===============================" + +# Create test_trainer user +echo -e "\n${YELLOW}Creating test_trainer user...${NC}" +sshpass -p "${UPSKILL_STAGING_PASS}" ssh -o StrictHostKeyChecking=no "${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}" \ +"cd ${UPSKILL_STAGING_PATH} && wp user create test_trainer test@example.com --role=hvac_trainer --user_pass='Test123!' --allow-root" + +USER_CREATION_STATUS=$? +if [ $USER_CREATION_STATUS -eq 0 ]; then + echo -e "${GREEN}✓ Test user 'test_trainer' created successfully${NC}" +else + # Check if the user already exists + echo -e "\n${YELLOW}Checking if user already exists...${NC}" + sshpass -p "${UPSKILL_STAGING_PASS}" ssh -o StrictHostKeyChecking=no "${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}" \ + "cd ${UPSKILL_STAGING_PATH} && wp user get test_trainer --allow-root" + + if [ $? -eq 0 ]; then + echo -e "${YELLOW}User 'test_trainer' already exists. Updating password...${NC}" + sshpass -p "${UPSKILL_STAGING_PASS}" ssh -o StrictHostKeyChecking=no "${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}" \ + "cd ${UPSKILL_STAGING_PATH} && wp user update test_trainer --user_pass='Test123!' --role=hvac_trainer --allow-root" + check_status "User 'test_trainer' password updated" + else + echo -e "${RED}✗ Failed to create test user 'test_trainer'${NC}" + exit 1 + fi +fi + +echo -e "\n${GREEN}Test user setup completed!${NC}" +echo "User: test_trainer" +echo "Password: Test123!" +echo "Role: trainer" \ No newline at end of file diff --git a/wordpress-dev/dev-env.conf b/wordpress-dev/dev-env.conf index c034f2a3..b328a3d8 100644 --- a/wordpress-dev/dev-env.conf +++ b/wordpress-dev/dev-env.conf @@ -1,13 +1,13 @@ # WordPress Development Environment Configuration +# [DEPRECATED] Docker-based development is no longer supported. +# The project now uses Cloudways Staging as the primary development and testing environment. +# All Docker-related variables and workflows have been removed as of 2025-04-23. +# Please refer to the Cloudways variables and documentation for staging and production workflows. + # Logging LOG_LEVEL=INFO # DEBUG, INFO, WARN, ERROR -# Docker -DOCKER_COMPOSE_FILE=docker-compose.yml # Path to docker-compose file -DOCKER_PROJECT_NAME=wordpress-dev # Docker project name -DOCKER_NETWORK=wordpress-dev_default # Docker network name - # WordPress WP_VERSION=6.7.2 # Required WordPress version WP_DEBUG=true # Enable WordPress debug mode diff --git a/wordpress-dev/playwright-report/index.html b/wordpress-dev/playwright-report/index.html index 4d27e460..26e632e5 100644 --- a/wordpress-dev/playwright-report/index.html +++ b/wordpress-dev/playwright-report/index.html @@ -68,4 +68,4 @@ Error generating stack: `+u.message+` \ No newline at end of file +window.playwrightReportBase64 = "data:application/zip;base64,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"; \ No newline at end of file diff --git a/wordpress-dev/tests/e2e/playwright.config.ts b/wordpress-dev/tests/e2e/playwright.config.ts index 2470387b..932db758 100644 --- a/wordpress-dev/tests/e2e/playwright.config.ts +++ b/wordpress-dev/tests/e2e/playwright.config.ts @@ -5,9 +5,9 @@ import * as path from 'path'; const config: PlaywrightTestConfig = { testDir: './tests', globalSetup: require.resolve('./global-setup'), // Add global setup script - timeout: 30000, + timeout: 60000, // Increased timeout for staging environment forbidOnly: !!process.env.CI, - retries: process.env.CI ? 2 : 0, + retries: process.env.CI ? 2 : 1, // Enabled retries for debugging workers: process.env.CI ? 1 : undefined, reporter: [ ['list'], @@ -15,7 +15,7 @@ const config: PlaywrightTestConfig = { ['junit', { outputFile: '../test-results/e2e-results.xml' }] ], use: { - baseURL: process.env.UPSKILL_STAGING_URL || 'http://localhost:8080', + baseURL: process.env.UPSKILL_STAGING_URL, // Use staging URL from environment variable trace: 'on-first-retry', video: 'on-first-retry', screenshot: 'only-on-failure' diff --git a/wordpress-dev/tests/test-results/e2e-results.xml b/wordpress-dev/tests/test-results/e2e-results.xml index f1441c62..cab9ee61 100644 --- a/wordpress-dev/tests/test-results/e2e-results.xml +++ b/wordpress-dev/tests/test-results/e2e-results.xml @@ -1,471 +1,1416 @@ - - - + + + + TimeoutError: page.waitForSelector: Timeout 10000ms exceeded. Call log: - - expect.toHaveText with timeout 5000ms - - waiting for locator('h1.entry-title') + - waiting for locator('#tribe-community-events.tribe-community-events-form') to be visible - 15 | - 16 | // Check for the specific page title set during creation - > 17 | await expect(page.locator('h1.entry-title')).toHaveText('Manage Event'); - | ^ - 18 | - 19 | // Check for key elements within the rendered TEC CE submission form 20 | // Wait for the form container to appear first - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/community-events.spec.ts:17:48 + 21 | const formSelector = '#tribe-community-events.tribe-community-events-form'; + > 22 | await page.waitForSelector(formSelector, { state: 'visible', timeout: 10000 }); // Increased timeout + | ^ + 23 | await expect(page.locator(formSelector)).toBeVisible(); + 24 | + 25 | // Wait for the title input field to appear + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/community-events.spec.ts:22:14 attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/community-events-Community-9b6df-ssion-form-on-manage-event--chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── + + Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── + + TimeoutError: page.waitForSelector: Timeout 10000ms exceeded. + Call log: + - waiting for locator('#tribe-community-events.tribe-community-events-form') to be visible + + + 20 | // Wait for the form container to appear first + 21 | const formSelector = '#tribe-community-events.tribe-community-events-form'; + > 22 | await page.waitForSelector(formSelector, { state: 'visible', timeout: 10000 }); // Increased timeout + | ^ + 23 | await expect(page.locator(formSelector)).toBeVisible(); + 24 | + 25 | // Wait for the title input field to appear + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/community-events.spec.ts:22:14 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/community-events-Community-9b6df-ssion-form-on-manage-event--chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/community-events-Community-9b6df-ssion-form-on-manage-event--chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/community-events-Community-9b6df-ssion-form-on-manage-event--chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/community-events-Community-9b6df-ssion-form-on-manage-event--chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+19ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+268ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+39ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+279ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/", waiting until "load" [38;5;45m+53ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+614ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+40ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+357ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+224ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/", waiting until "load" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+423ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+157ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+317ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+91ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+13ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+482ms[0m - [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+5s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+11ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m locator resolved to

Manage Event

[38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.waitForSelector started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#tribe-community-events.tribe-community-events-form') to be visible [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+384ms[0m + [38;5;45;1mpw:api [0m<= page.waitForSelector failed [38;5;45m+10s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+75ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m locator resolved to expect.toHaveText started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to

Manage Event

[38;5;45m+37ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> page.waitForSelector started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#tribe-community-events.tribe-community-events-form') to be visible [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+468ms[0m + [38;5;45;1mpw:api [0m<= page.waitForSelector failed [38;5;45m+10s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+59ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to + + TimeoutError: page.waitForSelector: Timeout 10000ms exceeded. Call log: - - expect.toHaveText with timeout 5000ms - - waiting for locator('h1.entry-title') + - waiting for locator('table#tribe-community-events-list') to be visible - 33 | - 34 | // Check for the specific page title set during creation - > 35 | await expect(page.locator('h1.entry-title')).toHaveText('My Events'); - | ^ - 36 | - 37 | // Check for key elements within the rendered TEC CE event list view 38 | // Wait for the table to appear - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/community-events.spec.ts:35:48 + 39 | const tableSelector = 'table#tribe-community-events-list'; + > 40 | await page.waitForSelector(tableSelector, { state: 'visible', timeout: 10000 }); // Increased timeout + | ^ + 41 | await expect(page.locator(tableSelector)).toBeVisible(); + 42 | + 43 | // Wait for the list title generated by the shortcode + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/community-events.spec.ts:40:14 attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/community-events-Community-a750f-ay-event-list-on-my-events--chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── + + Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── + + TimeoutError: page.waitForSelector: Timeout 10000ms exceeded. + Call log: + - waiting for locator('table#tribe-community-events-list') to be visible + + + 38 | // Wait for the table to appear + 39 | const tableSelector = 'table#tribe-community-events-list'; + > 40 | await page.waitForSelector(tableSelector, { state: 'visible', timeout: 10000 }); // Increased timeout + | ^ + 41 | await expect(page.locator(tableSelector)).toBeVisible(); + 42 | + 43 | // Wait for the list title generated by the shortcode + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/community-events.spec.ts:40:14 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/community-events-Community-a750f-ay-event-list-on-my-events--chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/community-events-Community-a750f-ay-event-list-on-my-events--chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/community-events-Community-a750f-ay-event-list-on-my-events--chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/community-events-Community-a750f-ay-event-list-on-my-events--chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+113ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+52ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+358ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/my-events/", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+303ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+111ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+203ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/my-events/", waiting until "load" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+217ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/my-events/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+188ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+503ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+494ms[0m - [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+5s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to

My Events

[38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.waitForSelector started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('table#tribe-community-events-list') to be visible [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+461ms[0m + [38;5;45;1mpw:api [0m<= page.waitForSelector failed [38;5;45m+10s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+81ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0m locator resolved to expect.toHaveText started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to

My Events

[38;5;45m+22ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.waitForSelector started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('table#tribe-community-events-list') to be visible [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+470ms[0m + [38;5;45;1mpw:api [0m<= page.waitForSelector failed [38;5;45m+10s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+55ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - - + + + 12 | test.beforeEach(async ({ page }) => { - | ^ - 13 | await page.goto('/community-login/'); - 14 | await page.fill('#user_login', 'test_trainer'); - 15 | await page.fill('#user_pass', 'Test123!'); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:12:7 - - Error: page.fill: Test timeout of 30000ms exceeded. + Locator: locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') + Expected string: "http://localhost:8080/manage-event/" + Received string: "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" Call log: - - waiting for locator('#user_login') + - expect.toHaveAttribute with timeout 5000ms + - waiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') + 9 × locator resolved to Create Event + - unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" - 12 | test.beforeEach(async ({ page }) => { - 13 | await page.goto('/community-login/'); - > 14 | await page.fill('#user_login', 'test_trainer'); - | ^ - 15 | await page.fill('#user_pass', 'Test123!'); - 16 | await page.click('#wp-submit'); - 17 | await expect(page).toHaveURL(/hvac-dashboard/); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:14:14 + 46 | await expect(createEventButton).toBeVisible(); + 47 | // Use full URL for comparison as generated by home_url() + > 48 | await expect(createEventButton).toHaveAttribute('href', `${siteUrl}/manage-event/`); + | ^ + 49 | + 50 | const myEventsButton = navDiv.locator('a:has-text("My Events")'); // More specific locator + 51 | await expect(myEventsButton).toBeVisible(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:48:35 attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/dashboard-Trainer-Dashboar-17a83-ments-for-logged-in-trainer-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── + + Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── + + Error: Timed out 5000ms waiting for expect(locator).toHaveAttribute(expected) + + Locator: locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') + Expected string: "http://localhost:8080/manage-event/" + Received string: "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + Call log: + - expect.toHaveAttribute with timeout 5000ms + - waiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') + 8 × locator resolved to Create Event + - unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + + + 46 | await expect(createEventButton).toBeVisible(); + 47 | // Use full URL for comparison as generated by home_url() + > 48 | await expect(createEventButton).toHaveAttribute('href', `${siteUrl}/manage-event/`); + | ^ + 49 | + 50 | const myEventsButton = navDiv.locator('a:has-text("My Events")'); // More specific locator + 51 | await expect(myEventsButton).toBeVisible(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:48:35 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-17a83-ments-for-logged-in-trainer-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-17a83-ments-for-logged-in-trainer-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-17a83-ments-for-logged-in-trainer-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/dashboard-Trainer-Dashboar-17a83-ments-for-logged-in-trainer-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> - + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+563ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+543ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+306ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+218ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+68ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+53ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+77ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+96ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+81ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to

Trainer Dashboard

[38;5;45m+345ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveAttribute started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveAttribute with timeout 5000ms [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+78ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+272ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+518ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveAttribute succeeded [38;5;45m+72ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+114ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+93ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+323ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+159ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+89ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+142ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to

Trainer Dashboard

[38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveAttribute started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveAttribute with timeout 5000ms [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+253ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+44ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+111ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+262ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+574ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveAttribute succeeded [38;5;45m+728ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+69ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+301ms[0m + [38;5;45;1mpw:api [0m locator resolved to + +… + - unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + - locator resolved to … + 5 × unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + - locator resolved to … + - unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + + + 73 | const createEventButton = navDiv.locator('a:has-text("Create Event")'); + 74 | await createEventButton.click(); + > 75 | await expect(page).toHaveURL(`${siteUrl}/manage-event/`); + | ^ + 76 | await page.goBack(); + 77 | const viewProfileButton = navDiv.locator('a:has-text("View Profile")'); + 78 | await viewProfileButton.click(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:75:24 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c335-hen-nav-buttons-are-clicked-chromium/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── + + Error: Timed out 5000ms waiting for expect(locator).toHaveURL(expected) + + Locator: locator(':root') + Expected string: "http://localhost:8080/manage-event/" + Received string: "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + Call log: + - expect.toHaveURL with timeout 5000ms + - waiting for locator(':root') + 8 × locator resolved to … + - unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" + + + 73 | const createEventButton = navDiv.locator('a:has-text("Create Event")'); + 74 | await createEventButton.click(); + > 75 | await expect(page).toHaveURL(`${siteUrl}/manage-event/`); + | ^ + 76 | await page.goBack(); + 77 | const viewProfileButton = navDiv.locator('a:has-text("View Profile")'); + 78 | await viewProfileButton.click(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:75:24 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c335-hen-nav-buttons-are-clicked-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c335-hen-nav-buttons-are-clicked-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c335-hen-nav-buttons-are-clicked-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/dashboard-Trainer-Dashboar-7c335-hen-nav-buttons-are-clicked-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+22ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+349ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+178ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+14ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+444ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+177ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+41ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 12 | test.beforeEach(async ({ page }) => { - | ^ - 13 | await page.goto('/community-login/'); - 14 | await page.fill('#user_login', 'test_trainer'); - 15 | await page.fill('#user_pass', 'Test123!'); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:12:7 - - Error: page.fill: Test timeout of 30000ms exceeded. - Call log: - - waiting for locator('#user_login') - - - 12 | test.beforeEach(async ({ page }) => { - 13 | await page.goto('/community-login/'); - > 14 | await page.fill('#user_login', 'test_trainer'); - | ^ - 15 | await page.fill('#user_pass', 'Test123!'); - 16 | await page.click('#wp-submit'); - 17 | await expect(page).toHaveURL(/hvac-dashboard/); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:14:14 - - attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── - test-results/dashboard-Trainer-Dashboar-7c335-hen-nav-buttons-are-clicked-chromium/test-failed-1.png - ──────────────────────────────────────────────────────────────────────────────────────────────── -]]> - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+47ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+583ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+115ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+172ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+53ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+93ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+172ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+176ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+449ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+21ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+473ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+109ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+66ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+36ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+48ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> locator.click started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+77ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= locator.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+207ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+65ms[0m + [38;5;45;1mpw:api [0m navigated to "about:blank" [38;5;45m+212ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+562ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+96ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+738ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+49ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+337ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+159ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+112ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+42ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+154ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+137ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+221ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m=> locator.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-dashboard-nav').locator('a:has-text("Create Event")') [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+203ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= locator.click succeeded [38;5;45m+334ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+496ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+491ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "about:blank" [38;5;45m+160ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+104ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+330ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+70ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+438ms[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m unexpected value "https://wordpress-974670-5399585.cloudwaysapps.com/manage-event/" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+892ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+70ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+25ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+60ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 12 | test.beforeEach(async ({ page }) => { - | ^ - 13 | await page.goto('/community-login/'); - 14 | await page.fill('#user_login', 'test_trainer'); - 15 | await page.fill('#user_pass', 'Test123!'); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:12:7 - - Error: page.fill: Test timeout of 30000ms exceeded. - Call log: - - waiting for locator('#user_login') - - - 12 | test.beforeEach(async ({ page }) => { - 13 | await page.goto('/community-login/'); - > 14 | await page.fill('#user_login', 'test_trainer'); - | ^ - 15 | await page.fill('#user_pass', 'Test123!'); - 16 | await page.click('#wp-submit'); - 17 | await expect(page).toHaveURL(/hvac-dashboard/); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:14:14 - - attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── - test-results/dashboard-Trainer-Dashboar-78836-en-filter-links-are-clicked-chromium/test-failed-1.png - ──────────────────────────────────────────────────────────────────────────────────────────────── + + + - + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+205ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+95ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+220ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+479ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+46ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 12 | test.beforeEach(async ({ page }) => { - | ^ - 13 | await page.goto('/community-login/'); - 14 | await page.fill('#user_login', 'test_trainer'); - 15 | await page.fill('#user_pass', 'Test123!'); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:12:7 - - Error: page.fill: Test timeout of 30000ms exceeded. - Call log: - - waiting for locator('#user_login') - - - 12 | test.beforeEach(async ({ page }) => { - 13 | await page.goto('/community-login/'); - > 14 | await page.fill('#user_login', 'test_trainer'); - | ^ - 15 | await page.fill('#user_pass', 'Test123!'); - 16 | await page.click('#wp-submit'); - 17 | await expect(page).toHaveURL(/hvac-dashboard/); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:14:14 - - attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── - test-results/dashboard-Trainer-Dashboar-2c22f-orrectly-on-mobile-viewport-chromium/test-failed-1.png - ──────────────────────────────────────────────────────────────────────────────────────────────── -]]> - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+131ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+316ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+60ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+61ms[0m [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+155ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+199ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+184ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+495ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+57ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+35ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+73ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+40ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+165ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+95ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> locator.click started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-event-filters a:has-text("Publish")') [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m locator resolved to Publish [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/?event_status=publish" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/?event_status=publish" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m<= locator.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.waitForURL started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.waitForURL succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveClass started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveClass with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-event-filters a:has-text("Publish")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Publish [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveClass succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('table.events-table') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to …
[38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> locator.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-event-filters a:has-text("Draft")') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to Draft [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/?event_status=draft" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/?event_status=draft" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= locator.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.waitForURL started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.waitForURL succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveClass started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveClass with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-event-filters a:has-text("Draft")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Draft [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveClass succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('table.events-table') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to …
[38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> locator.click started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-event-filters a:has-text("All")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to All [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m<= locator.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.waitForURL started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.waitForURL succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveClass started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveClass with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('div.hvac-event-filters a:has-text("All")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to All [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveClass succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('table.events-table') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to …
[38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m +]]>
- - - + + + + + selectors.setTestIdAttribute started [38;5;45m+413ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+48ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+148ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+188ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.setViewportSize started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.setViewportSize succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('h1.entry-title') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to

Trainer Dashboard

[38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.hvac-dashboard-nav a:has-text("Create Event")') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to Create Event [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.hvac-stat-card').first() [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to
[38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('table.events-table') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to …
[38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m +]]> +
+
+ + + 12 | test.beforeEach(async ({ page }) => { - | ^ - 13 | await page.goto('/community-login/'); - 14 | await page.fill('#user_login', 'test_trainer'); - 15 | await page.fill('#user_pass', 'Test123!'); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:12:7 - - Error: page.fill: Test timeout of 30000ms exceeded. + Error: locator.textContent: Test timeout of 60000ms exceeded. Call log: - - waiting for locator('#user_login') + - waiting for locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value') - 12 | test.beforeEach(async ({ page }) => { - 13 | await page.goto('/community-login/'); - > 14 | await page.fill('#user_login', 'test_trainer'); - | ^ - 15 | await page.fill('#user_pass', 'Test123!'); - 16 | await page.click('#wp-submit'); - 17 | await expect(page).toHaveURL(/hvac-dashboard/); - at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:14:14 + 134 | + 135 | // Extract the displayed statistics values + > 136 | const totalEventsText = await page.locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value').textContent(); + | ^ + 137 | const upcomingEventsText = await page.locator('.hvac-stat-card:has-text("Upcoming Events") .hvac-stat-value').textContent(); + 138 | const pastEventsText = await page.locator('.hvac-stat-card:has-text("Past Events") .hvac-stat-value').textContent(); + 139 | const ticketsSoldText = await page.locator('.hvac-stat-card:has-text("Tickets Sold") .hvac-stat-value').textContent(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:136:109 attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/dashboard-Trainer-Dashboar-7c94e-accurate-statistics-summary-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── + + Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── + + Test timeout of 60000ms exceeded. + + Error: locator.textContent: Test timeout of 60000ms exceeded. + Call log: + - waiting for locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value') + + + 134 | + 135 | // Extract the displayed statistics values + > 136 | const totalEventsText = await page.locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value').textContent(); + | ^ + 137 | const upcomingEventsText = await page.locator('.hvac-stat-card:has-text("Upcoming Events") .hvac-stat-value').textContent(); + 138 | const pastEventsText = await page.locator('.hvac-stat-card:has-text("Past Events") .hvac-stat-value').textContent(); + 139 | const ticketsSoldText = await page.locator('.hvac-stat-card:has-text("Tickets Sold") .hvac-stat-value').textContent(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/dashboard.spec.ts:136:109 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c94e-accurate-statistics-summary-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c94e-accurate-statistics-summary-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/dashboard-Trainer-Dashboar-7c94e-accurate-statistics-summary-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/dashboard-Trainer-Dashboar-7c94e-accurate-statistics-summary-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+113ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + selectors.setTestIdAttribute started [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+90ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+38ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+166ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+166ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+199ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+496ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+78ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+13ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+81ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+97ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+90ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+70ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+81ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+69ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+689ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0m fill("test_trainer") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m fill("Test123!") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+49ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+77ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+81ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('.login-error') [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveURL started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveURL with timeout 5000ms [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0mwaiting for locator(':root') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveURL succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+83ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+75ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.hvac-stat-card:has-text("Total Events") .hvac-stat-value') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+392ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+72ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+306ms[0m + [38;5;45;1mpw:api [0m locator resolved to - + + - - - - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+14ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+281ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+24ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+171ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+494ms[0m - [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+25s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+184ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+30ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 44 | await this.page.click(this.selectors.createEventButton); + | ^ + 45 | } + 46 | + 47 | async clickViewTrainerProfile() { + at DashboardPage.clickCreateEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/DashboardPage.ts:44:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:18:29 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-createEve-35827-isplay-instructions-section-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-createEve-35827-isplay-instructions-section-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-createEve-35827-isplay-instructions-section-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-createEve-35827-isplay-instructions-section-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+507ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+544ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+245ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+489ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+56ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.waitForLoadState started [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+381ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+73ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+477ms[0m + [38;5;45;1mpw:api [0m locator resolved to + + 11 | test.beforeEach(async ({ page }) => { + | ^ + 12 | createEventPage = new CreateEventPage(page); + 13 | dashboardPage = new DashboardPage(page); + 14 | logParser = new LogParser(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:11:10 + + Error: page.click: Test timeout of 60000ms exceeded. Call log: - waiting for locator('#create-event-btn') @@ -571,47 +1599,10 @@ Warning: attachment ../../test-results/dashboard-Trainer-Dashboar-7c94e-accurate attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/event-management-createEve-9a7a2-ld-validate-required-fields-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── -]]> - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+626ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+68ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+140ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+250ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+498ms[0m - [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+65ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 44 | await this.page.click(this.selectors.createEventButton); + | ^ + 45 | } + 46 | + 47 | async clickViewTrainerProfile() { + at DashboardPage.clickCreateEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/DashboardPage.ts:44:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:18:29 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-createEve-9a7a2-ld-validate-required-fields-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-createEve-9a7a2-ld-validate-required-fields-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-createEve-9a7a2-ld-validate-required-fields-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-createEve-9a7a2-ld-validate-required-fields-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+156ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+101ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+220ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+628ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+81ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.waitForLoadState started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+460ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+265ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+79ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+283ms[0m + [38;5;45;1mpw:api [0m locator resolved to + + 11 | test.beforeEach(async ({ page }) => { + | ^ + 12 | createEventPage = new CreateEventPage(page); + 13 | dashboardPage = new DashboardPage(page); + 14 | logParser = new LogParser(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:11:10 + + Error: page.click: Test timeout of 60000ms exceeded. Call log: - waiting for locator('#create-event-btn') @@ -642,47 +1757,10 @@ Warning: attachment ../../test-results/event-management-createEve-9a7a2-ld-valid attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/event-management-createEve-e2abe-idate-form-fields-correctly-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── -]]> - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+151ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+16ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+21ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+63ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+188ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+491ms[0m - [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+59ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 44 | await this.page.click(this.selectors.createEventButton); + | ^ + 45 | } + 46 | + 47 | async clickViewTrainerProfile() { + at DashboardPage.clickCreateEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/DashboardPage.ts:44:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:18:29 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-createEve-e2abe-idate-form-fields-correctly-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-createEve-e2abe-idate-form-fields-correctly-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-createEve-e2abe-idate-form-fields-correctly-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-createEve-e2abe-idate-form-fields-correctly-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+197ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+65ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+201ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+504ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+121ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+53ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.waitForLoadState started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+467ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+122ms[0m + [38;5;45;1mpw:api [0m locator resolved to + + 11 | test.beforeEach(async ({ page }) => { + | ^ + 12 | createEventPage = new CreateEventPage(page); + 13 | dashboardPage = new DashboardPage(page); + 14 | logParser = new LogParser(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:11:10 + + Error: page.click: Test timeout of 60000ms exceeded. Call log: - waiting for locator('#create-event-btn') @@ -713,47 +1915,10 @@ Warning: attachment ../../test-results/event-management-createEve-e2abe-idate-fo attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/event-management-createEve-40971-reate-event-with-valid-data-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── -]]> - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+101ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+71ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+172ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+485ms[0m - [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+64ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 44 | await this.page.click(this.selectors.createEventButton); + | ^ + 45 | } + 46 | + 47 | async clickViewTrainerProfile() { + at DashboardPage.clickCreateEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/DashboardPage.ts:44:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:18:29 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-createEve-40971-reate-event-with-valid-data-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-createEve-40971-reate-event-with-valid-data-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-createEve-40971-reate-event-with-valid-data-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-createEve-40971-reate-event-with-valid-data-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+188ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+221ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+482ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.waitForLoadState started [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+305ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m locator resolved to + + 11 | test.beforeEach(async ({ page }) => { + | ^ + 12 | createEventPage = new CreateEventPage(page); + 13 | dashboardPage = new DashboardPage(page); + 14 | logParser = new LogParser(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:11:10 + + Error: page.click: Test timeout of 60000ms exceeded. Call log: - waiting for locator('#create-event-btn') @@ -784,47 +2073,10 @@ Warning: attachment ../../test-results/event-management-createEve-40971-reate-ev attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/event-management-createEve-f1421-when-clicking-return-button-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── -]]> - - - selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+98ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+76ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+167ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+497ms[0m - [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+48ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+31ms[0m - [38;5;45;1mpw:api [0m locator resolved to - - 44 | await this.page.click(this.selectors.createEventButton); + | ^ + 45 | } + 46 | + 47 | async clickViewTrainerProfile() { + at DashboardPage.clickCreateEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/DashboardPage.ts:44:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:18:29 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-createEve-f1421-when-clicking-return-button-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-createEve-f1421-when-clicking-return-button-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-createEve-f1421-when-clicking-return-button-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-createEve-f1421-when-clicking-return-button-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+359ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+89ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+172ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+158ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+471ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+68ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+73ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.waitForLoadState started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+521ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+155ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+620ms[0m + [38;5;45;1mpw:api [0m locator resolved to + + 11 | test.beforeEach(async ({ page }) => { + | ^ + 12 | createEventPage = new CreateEventPage(page); + 13 | dashboardPage = new DashboardPage(page); + 14 | logParser = new LogParser(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:11:10 + + Error: page.click: Test timeout of 60000ms exceeded. Call log: - waiting for locator('#create-event-btn') @@ -855,45 +2231,132 @@ Warning: attachment ../../test-results/event-management-createEve-f1421-when-cli attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── test-results/event-management-createEve-30899-dar-Community-Events-plugin-chromium/test-failed-1.png ──────────────────────────────────────────────────────────────────────────────────────────────── + + Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── + + Test timeout of 60000ms exceeded while running "beforeEach" hook. + + 9 | let logParser: LogParser; + 10 | + > 11 | test.beforeEach(async ({ page }) => { + | ^ + 12 | createEventPage = new CreateEventPage(page); + 13 | dashboardPage = new DashboardPage(page); + 14 | logParser = new LogParser(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:11:10 + + Error: page.click: Test timeout of 60000ms exceeded. + Call log: + - waiting for locator('#create-event-btn') + + + at ../pages/DashboardPage.ts:44 + + 42 | // Navigation button methods + 43 | async clickCreateEvent() { + > 44 | await this.page.click(this.selectors.createEventButton); + | ^ + 45 | } + 46 | + 47 | async clickViewTrainerProfile() { + at DashboardPage.clickCreateEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/DashboardPage.ts:44:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/createEvent.spec.ts:18:29 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-createEve-30899-dar-Community-Events-plugin-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-createEve-30899-dar-Community-Events-plugin-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-createEve-30899-dar-Community-Events-plugin-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-createEve-30899-dar-Community-Events-plugin-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+144ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+115ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+210ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+91ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/hvac-dashboard/" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+128ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+13ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+506ms[0m - [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+45ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+25s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/community-login/" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+227ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.waitForLoadState started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+502ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+60ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+55ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to page.waitForLoadState started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+483ms[0m + [38;5;45;1mpw:api [0m<= page.waitForLoadState succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#create-event-btn') [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+56ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+84ms[0m + [38;5;45;1mpw:api [0m locator resolved to - + + + Call log: + - expect.toHaveText with timeout 5000ms + - waiting for locator('#event-title') + + + at ../pages/EventSummaryPage.ts:61 + + 59 | description: string; + 60 | }) { + > 61 | await expect(this.page.locator(this.selectors.eventTitle)).toHaveText(expectedDetails.title); + | ^ + 62 | await expect(this.page.locator(this.selectors.eventDateTime)).toHaveText(expectedDetails.dateTime); + 63 | await expect(this.page.locator(this.selectors.eventLocation)).toHaveText(expectedDetails.location); + 64 | await expect(this.page.locator(this.selectors.eventOrganizer)).toHaveText(expectedDetails.organizer); + at EventSummaryPage.verifyEventDetails (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:61:68) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:31:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-4458f-splay-correct-event-details-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-4458f-splay-correct-event-details-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-4458f-splay-correct-event-details-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-4458f-splay-correct-event-details-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+241ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+21ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+160ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+482ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+524ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+56ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+82ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#event-title') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+599ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-title') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+642ms[0m [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+86ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+99ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+82ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+161ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+58ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+232ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+82ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+108ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+201ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-title') [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+159ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+36ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m ]]> - + + Call log: + - expect.toHaveText with timeout 5000ms + - waiting for locator('#ticket-price') + + + at ../pages/EventSummaryPage.ts:74 + + 72 | remaining: string; + 73 | }) { + > 74 | await expect(this.page.locator(this.selectors.ticketPrice)).toHaveText(expectedInfo.price); + | ^ + 75 | await expect(this.page.locator(this.selectors.ticketQuantity)).toHaveText(expectedInfo.quantity); + 76 | await expect(this.page.locator(this.selectors.ticketsRemaining)).toHaveText(expectedInfo.remaining); + 77 | } + at EventSummaryPage.verifyTicketInfo (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:74:69) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:41:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-8cefd--correct-ticket-information-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-8cefd--correct-ticket-information-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-8cefd--correct-ticket-information-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-8cefd--correct-ticket-information-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+111ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+392ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+711ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+118ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+156ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#ticket-price') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+582ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+58ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+143ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+157ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+162ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#ticket-price') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+564ms[0m - [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+56ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+212ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+191ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#ticket-price') [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+257ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+109ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+107ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+91ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m ]]> - + + Call log: + - expect.toBeVisible with timeout 5000ms + - waiting for locator('#transactions-table') + + + at ../pages/EventSummaryPage.ts:118 + + 116 | // Table functionality methods + 117 | async verifyTransactionTableExists() { + > 118 | await expect(this.page.locator(this.selectors.transactionsTable)).toBeVisible(); + | ^ + 119 | } + 120 | + 121 | async getTransactionCount(): Promise { + at EventSummaryPage.verifyTransactionTableExists (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:118:75) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:45:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-f9e3f-validate-transactions-table-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-f9e3f-validate-transactions-table-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-f9e3f-validate-transactions-table-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-f9e3f-validate-transactions-table-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+167ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+42ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+229ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+453ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+273ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+155ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+14ms[0m [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#transactions-table') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+556ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#transactions-table') [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+650ms[0m [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27ms[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+306ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+34ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+88ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+150ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+716ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+125ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#transactions-table') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+354ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+44ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+64ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+72ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-f9e3f-validate-transactions-table-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - + + Call log: + - expect.toHaveText with timeout 5000ms + - waiting for locator('#total-tickets-sold') + + + at ../pages/EventSummaryPage.ts:109 + + 107 | // Summary statistics verification methods + 108 | async verifyTotalTicketsSold(expectedTotal: string) { + > 109 | await expect(this.page.locator(this.selectors.totalTicketsSold)).toHaveText(expectedTotal); + | ^ + 110 | } + 111 | + 112 | async verifyTotalRevenue(expectedRevenue: string) { + at EventSummaryPage.verifyTotalTicketsSold (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:109:74) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:64:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-a89f1--correct-summary-statistics-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-a89f1--correct-summary-statistics-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-a89f1--correct-summary-statistics-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-a89f1--correct-summary-statistics-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+583ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+238ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+149ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+100ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+159ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+11ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+129ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#total-tickets-sold') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+531ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+184ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#total-tickets-sold') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+602ms[0m [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+15ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+47ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+64ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-a89f1--correct-summary-statistics-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+380ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+42ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+309ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+141ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+40ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#total-tickets-sold') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+428ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+89ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+136ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+4ms[0m +]]> - + 46 | await this.page.click(this.selectors.editEventButton); + | ^ + 47 | } + 48 | + 49 | async returnToDashboard() { + at EventSummaryPage.clickEditEvent (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:46:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:69:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-ea045-navigate-to-edit-event-page-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-ea045-navigate-to-edit-event-page-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-ea045-navigate-to-edit-event-page-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-ea045-navigate-to-edit-event-page-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+150ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+201ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+8ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+47ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+53ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+158ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#edit-event-btn') [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+591ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+669ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+107ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#edit-event-btn') [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+482ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+49ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+8ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-ea045-navigate-to-edit-event-page-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+206ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+96ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+200ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#edit-event-btn') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+563ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+54s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+206ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+3ms[0m +]]> - + 50 | await this.page.click(this.selectors.returnToDashboardButton); + | ^ + 51 | } + 52 | + 53 | // Event details verification methods + at EventSummaryPage.returnToDashboard (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:50:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:74:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-93f51-when-clicking-return-button-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-93f51-when-clicking-return-button-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-93f51-when-clicking-return-button-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-93f51-when-clicking-return-button-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+89ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+430ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+38ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+5ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+218ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+296ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+204ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+29ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#return-dashboard-btn') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+504ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+585ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+9ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+53ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+9ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-93f51-when-clicking-return-button-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+200ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+49ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+416ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#return-dashboard-btn') [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+484ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+42ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+110ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+3ms[0m +]]> - + + Call log: + - expect.toHaveText with timeout 5000ms + - waiting for locator('.purchaser-name-link').first() + + + at ../pages/EventSummaryPage.ts:95 + + 93 | }; + 94 | + > 95 | await expect(row.purchaserName).toHaveText(expectedTransaction.purchaserName); + | ^ + 96 | await expect(row.organization).toHaveText(expectedTransaction.organization); + 97 | await expect(row.purchaseDate).toHaveText(expectedTransaction.purchaseDate); + 98 | await expect(row.ticketCount).toHaveText(expectedTransaction.ticketCount); + at EventSummaryPage.verifyTransactionDetails (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:95:41) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:106:36 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-c70f6-saction-table-functionality-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-c70f6-saction-table-functionality-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-c70f6-saction-table-functionality-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-c70f6-saction-table-functionality-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+365ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+18ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+119ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+88ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+209ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+101ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+135ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+33ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('.purchaser-name-link').first() [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+588ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+170ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.purchaser-name-link').first() [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+577ms[0m [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+17ms[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+43ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-c70f6-saction-table-functionality-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+113ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+158ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+209ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.purchaser-name-link').first() [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+544ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+93ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+42ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+0ms[0m +]]> - + + Call log: + - expect.toHaveText with timeout 5000ms + - waiting for locator('#event-title') + + + at ../pages/EventSummaryPage.ts:61 + + 59 | description: string; + 60 | }) { + > 61 | await expect(this.page.locator(this.selectors.eventTitle)).toHaveText(expectedDetails.title); + | ^ + 62 | await expect(this.page.locator(this.selectors.eventDateTime)).toHaveText(expectedDetails.dateTime); + 63 | await expect(this.page.locator(this.selectors.eventLocation)).toHaveText(expectedDetails.location); + 64 | await expect(this.page.locator(this.selectors.eventOrganizer)).toHaveText(expectedDetails.organizer); + at EventSummaryPage.verifyEventDetails (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:61:68) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:124:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-c80fb-ime-and-date-display-format-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-c80fb-ime-and-date-display-format-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-c80fb-ime-and-date-display-format-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-c80fb-ime-and-date-display-format-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+100ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+40ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+139ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+168ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+17ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#event-title') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+199ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-title') [38;5;45m+15ms[0m [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+570ms[0m [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+170ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+11ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+123ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+4ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-c80fb-ime-and-date-display-format-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+133ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+65ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+217ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-title') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+593ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - + + Call log: + - expect.toHaveText with timeout 5000ms + - waiting for locator('#total-tickets-sold') + + + at ../pages/EventSummaryPage.ts:109 + + 107 | // Summary statistics verification methods + 108 | async verifyTotalTicketsSold(expectedTotal: string) { + > 109 | await expect(this.page.locator(this.selectors.totalTicketsSold)).toHaveText(expectedTotal); + | ^ + 110 | } + 111 | + 112 | async verifyTotalRevenue(expectedRevenue: string) { + at EventSummaryPage.verifyTotalTicketsSold (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/EventSummaryPage.ts:109:74) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/eventSummary.spec.ts:143:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-d44d3-venue-calculations-accuracy-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-eventSumm-d44d3-venue-calculations-accuracy-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-eventSumm-d44d3-venue-calculations-accuracy-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-eventSumm-d44d3-venue-calculations-accuracy-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+114ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+118ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+12ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+45ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+138ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+32ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+121ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+5s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+143ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+112ms[0m [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#total-tickets-sold') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+593ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+532ms[0m [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+7ms[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+191ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+12ms[0m - -Warning: attachment ../../test-results/event-management-eventSumm-d44d3-venue-calculations-accuracy-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+59ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+495ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+130ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+280ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+242ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=event-summary&event_id=12345", waiting until "load" [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Devent-summary%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+222ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveText started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveText with timeout 5000ms [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#total-tickets-sold') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+652ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveText succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+38ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - - + + + Call log: + - expect.toBeVisible with timeout 5000ms + - waiting for locator('#event-modification-instructions') + + + at ../pages/ModifyEventPage.ts:38 + + 36 | async verifyInstructionsVisibility() { + 37 | const instructions = await this.page.locator(this.selectors.instructionsSection); + > 38 | await expect(instructions).toBeVisible(); + | ^ + 39 | } + 40 | + 41 | async verifyPrefilledValues(expectedValues: { + at ModifyEventPage.verifyInstructionsVisibility (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:38:36) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:23:9 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-660c0-isplay-instructions-section-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-660c0-isplay-instructions-section-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-660c0-isplay-instructions-section-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-660c0-isplay-instructions-section-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+161ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+186ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+133ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+196ms[0m [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+136ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+190ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+25ms[0m [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+0ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#event-modification-instructions') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+545ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+581ms[0m [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+49ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+991ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+216ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+6s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+104ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-modification-instructions') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+607ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+50ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m ]]> - + + Call log: + - expect.toHaveValue with timeout 5000ms + - waiting for locator('#event-name') + + + at ../pages/ModifyEventPage.ts:51 + + 49 | ticketQuantity: string; + 50 | }) { + > 51 | await expect(this.page.locator(this.selectors.eventNameInput)).toHaveValue(expectedValues.name); + | ^ + 52 | await expect(this.page.locator(this.selectors.eventDescriptionInput)).toHaveValue(expectedValues.description); + 53 | await expect(this.page.locator(this.selectors.eventDateInput)).toHaveValue(expectedValues.date); + 54 | await expect(this.page.locator(this.selectors.eventTimeInput)).toHaveValue(expectedValues.time); + at ModifyEventPage.verifyPrefilledValues (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:51:72) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:38:31 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-a5260-illed-form-values-correctly-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-a5260-illed-form-values-correctly-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-a5260-illed-form-values-correctly-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-a5260-illed-form-values-correctly-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+153ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+130ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+171ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+74ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+140ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+37ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> expect.toHaveValue started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mexpect.toHaveValue with timeout 5000ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+177ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveValue started [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveValue with timeout 5000ms [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+602ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+558ms[0m [38;5;45;1mpw:api [0m<= expect.toHaveValue succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+5ms[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+65ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - -Warning: attachment ../../test-results/event-management-modifyEve-a5260-illed-form-values-correctly-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+207ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+150ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+143ms[0m + [38;5;45;1mpw:api [0m=> expect.toHaveValue started [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0mexpect.toHaveValue with timeout 5000ms [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+504ms[0m + [38;5;45;1mpw:api [0m<= expect.toHaveValue succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+36ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - + 71 | if (eventDetails.name) await this.page.fill(this.selectors.eventNameInput, eventDetails.name); + | ^ + 72 | if (eventDetails.description) await this.page.fill(this.selectors.eventDescriptionInput, eventDetails.description); + 73 | if (eventDetails.date) await this.page.fill(this.selectors.eventDateInput, eventDetails.date); + 74 | if (eventDetails.time) await this.page.fill(this.selectors.eventTimeInput, eventDetails.time); + at ModifyEventPage.modifyEventDetails (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:71:48) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:53:31 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-6783d-sfully-modify-event-details-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-6783d-sfully-modify-event-details-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-6783d-sfully-modify-event-details-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-6783d-sfully-modify-event-details-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+50ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+212ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+51ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+165ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+153ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+109ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+65ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+38ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+157ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+596ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+25s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+602ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+41ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+15ms[0m - -Warning: attachment ../../test-results/event-management-modifyEve-6783d-sfully-modify-event-details-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+157ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+70ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+133ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+232ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+216ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+261ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+54s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+156ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+35ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+72ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+4ms[0m +]]> - + 73 | if (eventDetails.date) await this.page.fill(this.selectors.eventDateInput, eventDetails.date); + | ^ + 74 | if (eventDetails.time) await this.page.fill(this.selectors.eventTimeInput, eventDetails.time); + 75 | if (eventDetails.location) await this.page.fill(this.selectors.eventLocationInput, eventDetails.location); + 76 | if (eventDetails.organizer) await this.page.fill(this.selectors.eventOrganizerInput, eventDetails.organizer); + at ModifyEventPage.modifyEventDetails (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:73:48) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:66:31 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-2b7c4-idate-form-fields-correctly-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-2b7c4-idate-form-fields-correctly-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-2b7c4-idate-form-fields-correctly-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-2b7c4-idate-form-fields-correctly-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+265ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+135ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+53ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+153ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+50ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+129ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+239ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#event-date') [38;5;45m+13ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+559ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-date') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+547ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+10ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+47ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+8ms[0m - -Warning: attachment ../../test-results/event-management-modifyEve-2b7c4-idate-form-fields-correctly-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+72ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+198ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+255ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+73ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+155ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+600ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+79ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-date') [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+406ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+42ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+198ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+3ms[0m +]]> - + 71 | if (eventDetails.name) await this.page.fill(this.selectors.eventNameInput, eventDetails.name); + | ^ + 72 | if (eventDetails.description) await this.page.fill(this.selectors.eventDescriptionInput, eventDetails.description); + 73 | if (eventDetails.date) await this.page.fill(this.selectors.eventDateInput, eventDetails.date); + 74 | if (eventDetails.time) await this.page.fill(this.selectors.eventTimeInput, eventDetails.time); + at ModifyEventPage.modifyEventDetails (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:71:48) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:93:31 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-0cf4c-ues-after-failed-validation-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-0cf4c-ues-after-failed-validation-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-0cf4c-ues-after-failed-validation-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-0cf4c-ues-after-failed-validation-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+105ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+198ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+51ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+174ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+145ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+36ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+587ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+604ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+51ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+116ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+82ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+569ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+169ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+75ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+151ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#event-name') [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+556ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+53ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+258ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+10ms[0m - -Warning: attachment ../../test-results/event-management-modifyEve-0cf4c-ues-after-failed-validation-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m<= page.fill failed [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+2ms[0m +]]> - + 86 | await this.page.click(this.selectors.returnToDashboardButton); + | ^ + 87 | } + 88 | + 89 | async verifyValidationError(field: string, expectedMessage: string) { + at ModifyEventPage.returnToDashboard (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:86:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:112:31 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-564bf-when-clicking-return-button-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-564bf-when-clicking-return-button-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-564bf-when-clicking-return-button-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-564bf-when-clicking-return-button-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+168ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+99ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+235ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+75ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+17ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+141ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+20ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#return-dashboard-btn') [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+588ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+25s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+319ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#return-dashboard-btn') [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+488ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+113ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+51ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+12ms[0m - -Warning: attachment ../../test-results/event-management-modifyEve-564bf-when-clicking-return-button-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+170ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+185ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+118ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#return-dashboard-btn') [38;5;45m+56ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+505ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+133ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+2ms[0m +]]> - + + Call log: + - expect.toBeVisible with timeout 5000ms + - waiting for locator('.tribe-community-events') + + + at ../pages/ModifyEventPage.ts:96 + + 94 | async verifyPluginIntegration() { + 95 | // Verify The Events Calendar Community Events plugin elements + > 96 | await expect(this.page.locator('.tribe-community-events')).toBeVisible(); + | ^ + 97 | await expect(this.page.locator('.tribe-community-events-content')).toBeVisible(); + 98 | } + 99 | } + at ModifyEventPage.verifyPluginIntegration (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/pages/ModifyEventPage.ts:96:68) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/event-management/modifyEvent.spec.ts:117:31 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-a04c8-dar-Community-Events-plugin-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/event-management-modifyEve-a04c8-dar-Community-Events-plugin-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/event-management-modifyEve-a04c8-dar-Community-Events-plugin-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/event-management-modifyEve-a04c8-dar-Community-Events-plugin-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+96ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+210ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+8ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+206ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+164ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+63ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+366ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+27ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.tribe-community-events') [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+543ms[0m + [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+4s[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+89ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+209ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+55ms[0m [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-admin/admin.php?page=community-events-edit&event_id=12345", waiting until "load" [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress-974670-5399585.cloudwaysapps.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dcommunity-events-edit%26event_id%3D12345&reauth=1" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+157ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+18ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('.tribe-community-events') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+599ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+194ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m=> expect.toBeVisible started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0mexpect.toBeVisible with timeout 5000ms [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.tribe-community-events') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+608ms[0m [38;5;45;1mpw:api [0m<= expect.toBeVisible succeeded [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+68ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - -Warning: attachment ../../test-results/event-management-modifyEve-a04c8-dar-Community-Events-plugin-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - - + + { + 13 | await loginPage.login('testuser', 'correctpassword'); + > 14 | await expect(await loginPage.isLoggedIn()).toBeTruthy(); + | ^ + 15 | + 16 | await loginPage.logout(); + 17 | await expect(await loginPage.isLoggedIn()).toBeFalsy(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:14:52 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-successful-login-and-logout-flow-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-successful-login-and-logout-flow-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-successful-login-and-logout-flow-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-successful-login-and-logout-flow-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+96ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+42ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+147ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+97ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+176ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+207ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+24ms[0m [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+17ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m fill("correctpassword") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+33ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+34ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+35ms[0m [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+31ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m checking visibility of locator('body.logged-in') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+18ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('body.logged-in') [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+177ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+6ms[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+181ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+103ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+17ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - -Warning: attachment ../../test-results/login-Community-Login-Page-successful-login-and-logout-flow-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+284ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+442ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+196ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+131ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m fill("correctpassword") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+95ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+156ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+117ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('body.logged-in') [38;5;45m+40ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+139ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+325ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+69ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+74ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - + 48 | return error.textContent(); + | ^ + 49 | } + 50 | + 51 | async isLoggedIn() { + at LoginPage.getErrorMessage (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/login-page.ts:48:22) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:22:30 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-bdccf-age-for-invalid-credentials-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-bdccf-age-for-invalid-credentials-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-bdccf-age-for-invalid-credentials-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-bdccf-age-for-invalid-credentials-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+280ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+185ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+13ms[0m [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+261ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+70ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+140ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+168ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+19ms[0m - [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+14ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m fill("wrongpassword") [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+4ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+33ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+34ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword") [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+151ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+56ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+183ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+190ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+119ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+134ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+241ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+189ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+85ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword") [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+129ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+10ms[0m [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+43ms[0m - [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+12ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+16ms[0m [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+523ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+77ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+8ms[0m - -Warning: attachment ../../test-results/login-Community-Login-Page-bdccf-age-for-invalid-credentials-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+488ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+188ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+337ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+168ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+115ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+4ms[0m +]]> - + { + 28 | await loginPage.login('testuser', 'correctpassword', true); + > 29 | await expect(await loginPage.isLoggedIn()).toBeTruthy(); + | ^ + 30 | + 31 | // Store cookies + 32 | const cookies = await context.cookies(); + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:29:52 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-cbd17-nality-persists-login-state-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-cbd17-nality-persists-login-state-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-cbd17-nality-persists-login-state-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-cbd17-nality-persists-login-state-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+114ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+122ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+39ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+84ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+140ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+167ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+39ms[0m [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+21ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m fill("correctpassword") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m fill("correctpassword") [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+33ms[0m - [38;5;45;1mpw:api [0m=> page.check started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#rememberme') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mattempting click action [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+47ms[0m - [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.check succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+159ms[0m + [38;5;45;1mpw:api [0m=> page.check started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#rememberme') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+152ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.check succeeded [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+85ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('body.logged-in') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+117ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+324ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+89ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+173ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m fill("correctpassword") [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+38ms[0m + [38;5;45;1mpw:api [0m=> page.check started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#rememberme') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+68ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.check succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+288ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+5ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+11ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m checking visibility of locator('body.logged-in') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+52ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - -Warning: attachment ../../test-results/login-Community-Login-Page-cbd17-nality-persists-login-state-chromium/test-failed-1.png is missing]]> + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.isVisible started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m checking visibility of locator('body.logged-in') [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m<= locator.isVisible succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+117ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+1ms[0m +]]> - + 41 | await this.page.click(this.resetPasswordLink); + | ^ + 42 | await this.page.fill('#user_login', username); + 43 | await this.page.click('input[value="Get New Password"]'); + 44 | } + at LoginPage.initiatePasswordReset (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/login-page.ts:41:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:49:25 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-password-reset-functionality-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-password-reset-functionality-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-password-reset-functionality-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-password-reset-functionality-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+155ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+67ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+153ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('a[href*="lost-password"]') [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+587ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+58s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+103ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+40ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+160ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+60ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+140ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+200ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+41ms[0m [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('a[href*="lost-password"]') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+591ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+28s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+50ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+8ms[0m - [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('a[href*="lost-password"]') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+567ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+353ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= page.click failed [38;5;45m+460ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+3ms[0m ]]> - + 48 | return error.textContent(); + | ^ + 49 | } + 50 | + 51 | async isLoggedIn() { + at LoginPage.getErrorMessage (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/login-page.ts:48:22) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:61:30 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-e8a16-ials-show-validation-errors-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-e8a16-ials-show-validation-errors-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-e8a16-ials-show-validation-errors-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-e8a16-ials-show-validation-errors-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+89ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+229ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+39ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+44ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+129ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+26ms[0m - [38;5;45;1mpw:api [0m fill("") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+251ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+176ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+140ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+0ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m fill("") [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+181ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+52ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+141ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+38ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+5ms[0m [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+426ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+31ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+197ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+375ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+133ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+31ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+180ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+218ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+35ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+48ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+19ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+24s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+215ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+58s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+114ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+87ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+775ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+2ms[0m ]]> - + 48 | return error.textContent(); + | ^ + 49 | } + 50 | + 51 | async isLoggedIn() { + at LoginPage.getErrorMessage (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/login-page.ts:48:22) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:71:30 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-XSS-prevention-in-login-form-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-XSS-prevention-in-login-form-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-XSS-prevention-in-login-form-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-XSS-prevention-in-login-form-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+88ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+38ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+355ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+112ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+134ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+150ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+36ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+29ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m fill("") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+49ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+18ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m fill("") [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+27ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+129ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+123ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+54ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+21ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+501ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+26s[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+500ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+40ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+70ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+218ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+177ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+18ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m fill("") [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+373ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+130ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+55s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+219ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+2ms[0m ]]> - + 48 | return error.textContent(); + | ^ + 49 | } + 50 | + 51 | async isLoggedIn() { + at LoginPage.getErrorMessage (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/login-page.ts:48:22) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/login.spec.ts:83:30 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-e016e-er-multiple-failed-attempts-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-e016e-er-multiple-failed-attempts-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/login-Community-Login-Page-e016e-er-multiple-failed-attempts-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/login-Community-Login-Page-e016e-er-multiple-failed-attempts-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+106ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+191ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+7ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+40ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+73ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+145ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+156ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+9ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+10ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m fill("wrongpassword0") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+30ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+49ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+21ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+6ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+28ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m fill("wrongpassword1") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+25ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+232ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword2") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+37ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+37ms[0m [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+31ms[0m - [38;5;45;1mpw:api [0mretrying click action [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m waiting 20ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+21ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+34ms[0m - [38;5;45;1mpw:api [0mretrying click action [38;5;45m+9ms[0m - [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+159ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+48ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+32ms[0m [38;5;45;1mpw:api [0mretrying click action [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+104ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+21ms[0m - [38;5;45;1mpw:api [0mretrying click action [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m waiting 500ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+18ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+483ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+110ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+43ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+120ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+44ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+5ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+29ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+14ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+12ms[0m - [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+148ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+131ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+34ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+17ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+10ms[0m - [38;5;45;1mpw:api [0m fill("wrongpassword2") [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword3") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+7ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+76ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 20ms [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+21ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+101ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+143ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 500ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+62ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+441ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword4") [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+26ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m click action done [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+73ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+504ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+50s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+107ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+59ms[0m + [38;5;45;1mpw:api [0m=> selectors.setTestIdAttribute started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+185ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+39ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+72ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php", waiting until "load" [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+41ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+20ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+48ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword0") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+27ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+10ms[0m [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m fill("wrongpassword3") [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword1") [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m element is not stable [38;5;45m+26ms[0m [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m @@ -2602,79 +6055,160 @@ Warning: attachment ../../test-results/login-Community-Login-Page-cbd17-nality-p [38;5;45;1mpw:api [0m element is not stable [38;5;45m+29ms[0m [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+101ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+103ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+31ms[0m [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+101ms[0m - [38;5;45;1mpw:api [0m element is not stable [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+31ms[0m [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting 500ms [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+108ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+393ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+15ms[0m - [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+86ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+417ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m click action done [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+0ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m fill("wrongpassword4") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword2") [38;5;45m+0ms[0m [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mattempting click action [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+32ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+24ms[0m [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m done scrolling [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m performing click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m click action done [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+36ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword3") [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+28ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+34ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 20ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+26ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+102ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+137ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting 100ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+90ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m element is not stable [38;5;45m+29ms[0m + [38;5;45;1mpw:api [0mretrying click action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting 500ms [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+505ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m fill("testuser") [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_pass') [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m fill("wrongpassword4") [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mattempting fill action [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and editable [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= page.fill succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#wp-submit') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m locator resolved to [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mattempting click action [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m waiting for element to be visible, enabled and stable [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m element is visible, enabled and stable [38;5;45m+23ms[0m + [38;5;45;1mpw:api [0m scrolling into view if needed [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m done scrolling [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m performing click action [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m click action done [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m waiting for scheduled navigations to finish [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+1s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/wp-login.php" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigations have finished [38;5;45m+48ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.click succeeded [38;5;45m+8ms[0m [38;5;45;1mpw:api [0m=> locator.textContent started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+499ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+19s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('.login-error') [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+484ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+49s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+7ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+49ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+38ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+266ms[0m + [38;5;45;1mpw:api [0m locator resolved to … [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= locator.textContent failed [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m=> video.saveAs started [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m<= video.saveAs succeeded [38;5;45m+5ms[0m ]]> - - + + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:16:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-bcc90-egistration-with-all-fields-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-bcc90-egistration-with-all-fields-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-bcc90-egistration-with-all-fields-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-bcc90-egistration-with-all-fields-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> + + + selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+131ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+343ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+79ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+4s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+28ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+169ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+24ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+236ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+44ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+452ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+25s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+16ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+482ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+69ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+63ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+481ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+83ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+6ms[0m - [38;5;45;1mpw:api [0m locator resolved to + 82 | await this.page.click(this.submitButton); + | ^ + 83 | } + 84 | + 85 | async getErrorMessages() { + at RegistrationPage.submit (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:82:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:36:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-3fbce-e-validates-required-fields-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-3fbce-e-validates-required-fields-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-3fbce-e-validates-required-fields-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-3fbce-e-validates-required-fields-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+96ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+273ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+15ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+37ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+87ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+33ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+79ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m=> page.click started [38;5;45m+15ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('button[type="submit"]') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+504ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+44ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.click started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('button[type="submit"]') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+495ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+28s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+55ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('button[type="submit"]') [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+468ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+57ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+217ms[0m [38;5;45;1mpw:api [0m locator resolved to + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:47:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-97ffd-ord-complexity-requirements-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-97ffd-ord-complexity-requirements-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-97ffd-ord-complexity-requirements-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-97ffd-ord-complexity-requirements-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+119ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+225ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+50ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+5ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+182ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+23ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+11ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+466ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+28s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+49ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+208ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+7ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+496ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+58ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+15ms[0m [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+47ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+497ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+78ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+85ms[0m + [38;5;45;1mpw:api [0m locator resolved to + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:62:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-9e7a2-password-confirmation-match-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-9e7a2-password-confirmation-match-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-9e7a2-password-confirmation-match-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-9e7a2-password-confirmation-match-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+109ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+54ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+112ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+99ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+175ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+199ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+492ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+28s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+526ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+24ms[0m [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+70ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+54ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+13ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+479ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+63ms[0m [38;5;45;1mpw:api [0m locator resolved to + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:77:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-94396-Page-validates-email-format-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-94396-Page-validates-email-format-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-94396-Page-validates-email-format-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-94396-Page-validates-email-format-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+118ms[0m - [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+40ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+488ms[0m + [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+45ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+30ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+285ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m - [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+160ms[0m - [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+179ms[0m + [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+496ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+492ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+56ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+82ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+475ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+9ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+10ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+14ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+65ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+56ms[0m [38;5;45;1mpw:api [0m locator resolved to + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:92:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-aca25--state-field-appears-for-US-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-aca25--state-field-appears-for-US-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-aca25--state-field-appears-for-US-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-aca25--state-field-appears-for-US-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+118ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+136ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+5ms[0m [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+45ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+46ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+162ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+201ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+494ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+495ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+61ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+482ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+14ms[0m [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+69ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m locator resolved to + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:112:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-6ba62-Page-file-upload-validation-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-6ba62-Page-file-upload-validation-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-6ba62-Page-file-upload-validation-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-6ba62-Page-file-upload-validation-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+115ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+139ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+64ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+0ms[0m + [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+58ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+186ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+194ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m + [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+496ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+497ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+55ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+81ms[0m [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+4ms[0m [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+479ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+57s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+12ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+63ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+51ms[0m + [38;5;45;1mpw:api [0m locator resolved to + 55 | await this.page.fill(this.usernameInput, username); + | ^ + 56 | await this.page.fill(this.emailInput, email); + 57 | await this.page.fill(this.passwordInput, password); + 58 | await this.page.fill(this.confirmPasswordInput, confirmPassword); + at RegistrationPage.fillRegistrationForm (/Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/page-objects/registration-page.ts:55:25) + at /Users/ben/dev/upskill-event-manager/wordpress-dev/tests/e2e/tests/registration.spec.ts:130:32 + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-39b94--XSS-in-registration-fields-chromium-retry1/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: video (video/webm) ────────────────────────────────────────────────────────────── + test-results/registration-Community-Reg-39b94--XSS-in-registration-fields-chromium-retry1/video.webm + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #4: trace (application/zip) ───────────────────────────────────────────────────────── + test-results/registration-Community-Reg-39b94--XSS-in-registration-fields-chromium-retry1/trace.zip + Usage: + + npx playwright show-trace test-results/registration-Community-Reg-39b94--XSS-in-registration-fields-chromium-retry1/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── ]]> selectors.setTestIdAttribute started [38;5;45m+0ms[0m - [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+107ms[0m + [38;5;45;1mpw:api [0m=> browserType.launch started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= selectors.setTestIdAttribute succeeded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserType.launch succeeded [38;5;45m+131ms[0m [38;5;45;1mpw:api [0m=> browser.newContext started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0m<= browser.newContext succeeded [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+42ms[0m - [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0m=> browserContext.newPage started [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= browserContext.newPage succeeded [38;5;45m+52ms[0m + [38;5;45;1mpw:api [0m=> page.goto started [38;5;45m+2ms[0m [38;5;45;1mpw:api [0mnavigating to "https://wordpress-974670-5399585.cloudwaysapps.com/register", waiting until "load" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+2s[0m + [38;5;45;1mpw:api [0m "commit" event fired [38;5;45m+3s[0m [38;5;45;1mpw:api [0m navigated to "https://wordpress-974670-5399585.cloudwaysapps.com/register" [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+172ms[0m + [38;5;45;1mpw:api [0m "domcontentloaded" event fired [38;5;45m+209ms[0m [38;5;45;1mpw:api [0m "load" event fired [38;5;45m+1ms[0m [38;5;45;1mpw:api [0m<= page.goto succeeded [38;5;45m+0ms[0m [38;5;45;1mpw:api [0m=> page.fill started [38;5;45m+1ms[0m [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+2ms[0m - [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+496ms[0m - [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+27s[0m - [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+1ms[0m - [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+4ms[0m - [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+61ms[0m - [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+3ms[0m - [38;5;45;1mpw:api [0m locator resolved to page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+4ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+6ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+2ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+76ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+11ms[0m + [38;5;45;1mpw:api [0m locator resolved to page.fill started [38;5;45m+8ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('#user_login') [38;5;45m+22ms[0m + [38;5;45;1mpw:api [0m "networkidle" event fired [38;5;45m+480ms[0m + [38;5;45;1mpw:api [0m=> page.screenshot started [38;5;45m+56s[0m + [38;5;45;1mpw:api [0mtaking page screenshot [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mwaiting for fonts to load... [38;5;45m+3ms[0m + [38;5;45;1mpw:api [0mfonts loaded [38;5;45m+5ms[0m + [38;5;45;1mpw:api [0m<= page.screenshot succeeded [38;5;45m+86ms[0m + [38;5;45;1mpw:api [0mwaiting for locator('body') [38;5;45m+71ms[0m + [38;5;45;1mpw:api [0m locator resolved to