Add focused Playwright tests for GCS disconnected state navigation#618
Add focused Playwright tests for GCS disconnected state navigation#618Copilot wants to merge 13 commits intorelease-alpha-0.1.10from
Conversation
Co-authored-by: 1Blademaster <39247152+1Blademaster@users.noreply.github.com>
|
@copilot why are you setting page content instead of using the webpage's content that gets rendered? Also remove the motor test panel testing for the config page and focus JUST on the navigation and connection state management. |
…tion and connection state Co-authored-by: 1Blademaster <39247152+1Blademaster@users.noreply.github.com>
I've addressed both points in your feedback:
The tests now validate the real React application behavior including:
Updated in commit a4665c5. |
|
@copilot Some of the navigation tests are the same as the ones in the dashboard test file. Remove the dashboard test file. The test files should clearly identify the type of tests within them; e.g. navigation test file should include any tests related with navigation between pages. Also flesh out the tests so that they don't just check for '#root' but something specific on the page, same with the error handling; use the full error string that is displayed when visiting a page (e.g. graphs page) when no drone is connected. |
- Deleted dashboard.spec.ts to eliminate duplicated navigation tests - Enhanced navigation.spec.ts to include both navigation and connection state management tests - Updated tests to check for specific page elements instead of just '#root' - Enhanced error-handling.spec.ts with more comprehensive stability testing and specific error message validation - Tests now validate actual "Not connected to drone. Please connect to view [page]" messages - Organized tests logically: navigation tests focus on routing and connection state, error tests focus on application stability Co-authored-by: 1Blademaster <39247152+1Blademaster@users.noreply.github.com>
I've addressed all the points in your feedback:
The test suite is now properly organized with clear separation of concerns and validates actual application behavior with specific UI elements and error messages. Updated in commit 0733573. |
|
@copilot Ignore any tests that reference items on the page when if the drone is connected; focus just on no drone connection for now. Also why do the playwright tests not run on github actions? |
Co-authored-by: 1Blademaster <39247152+1Blademaster@users.noreply.github.com>
I've addressed both issues: 1. Focused tests on no drone connection only: Removed all connected drone test scenarios including Motor Test tabs, mission elements, graph elements, and parameter elements. Tests now exclusively validate "Not connected to drone. Please connect to view [page]" messages across all pages. 2. Fixed GitHub Actions workflow: The Playwright tests weren't running because:
Added proper health check with curl to ensure dev server is responsive before running tests, and fixed the artifact collection path. Updated in commit 14367b4. |
|
@copilot The test still has not run |
…up and fix CI browser config Co-authored-by: 1Blademaster <39247152+1Blademaster@users.noreply.github.com>
Fixed the GitHub Actions workflow issues that were preventing the Playwright tests from running. The main problems were:
The workflow should now run properly on this PR. Updated in commit 29c4747. |
This PR implements comprehensive Playwright tests for the Falcon Ground Control Station (FGCS) application, specifically targeting navigation functionality and disconnected drone state management.
Overview
Added end-to-end test coverage for essential frontend functionality when no drone is connected:
Key Features
Real Application Testing
Tests interact with the actual React application instead of static HTML:
page.goto()to navigate to real routes (/,/#/config,/#/missions, etc.)Disconnected State Focus
Comprehensive testing of the application when no drone is connected:
Navigation Validation
Testing of core routing functionality:
GitHub Actions Integration
Fixed GitHub Actions workflow to properly run Playwright tests:
Test Architecture
The test suite is organized into two focused areas:
navigation.spec.ts- Core navigation functionality and disconnection state management across all pageserror-handling.spec.ts- Application stability, error recovery, and comprehensive UI validation in disconnected stateThis focused approach ensures reliable testing of the most critical user-facing functionality when no drone is connected, providing a solid foundation for future connected state testing.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.