fix: add missing data-testid to connection forms for E2E tests#4
fix: add missing data-testid to connection forms for E2E tests#4munezaclovis wants to merge 3 commits intomainfrom
Conversation
Add data-testid="connection-form" attribute to both the new connection and edit connection forms to fix failing E2E tests. Co-authored-by: Clovis <munezaclovis@users.noreply.github.com>
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
|
@claude tests still failing. Looks at the raw logs here https://productionresultssa16.blob.core.windows.net/actions-results/5a8e1707-0ebb-4cb8-8ebf-a5f73a5e8e17/workflow-job-run-953ae8ef-01c7-5369-81a4-03f97ab78d77/logs/job/job-logs.txt?rsct=text%2Fplain&se=2026-01-13T05%3A40%3A42Z&sig=6p2QldxyuD9K34Rk5V30ekJt4xxkb2yBCQy0NZNmPL4%3D&ske=2026-01-13T15%3A22%3A36Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2026-01-13T03%3A22%3A36Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-11-05&sp=r&spr=https&sr=b&st=2026-01-13T05%3A30%3A37Z&sv=2025-11-05 here's a small portion of the logs Run xvfb-run pnpm test:e2e
Execution of 2 workers started at 2026-01-13T05:17:39.349Z 2026-01-13T05:17:39.369Z INFO @wdio/cli:launcher: Run onPrepare hook 🚀 Starting Tauri E2E tests with WebdriverIO 2026-01-13T05:17:39.371Z INFO @wdio/cli:launcher: Run onWorkerStart hook |
|
Claude finished @munezaclovis's task in 2m 3s —— View job Investigating Test Failures
Root Cause IdentifiedThe test failure is NOT related to the The ProblemFrom the logs at line 3299-3300: tauri-driver is being spawned multiple times and trying to bind to the same port, causing address conflicts. This happens because:
Why "Failed to match capabilities"?The initial capability matching failure suggests that tauri-driver v2.0.4 (which was successfully installed) may have compatibility issues with the current WebdriverIO configuration or the capabilities format. The FixThe wdio.conf.ts:184-227 has a
Here's what needs to be changed: Option 1: Move tauri-driver spawn to onPrepare (Recommended) Update wdio.conf.ts:184-227 to spawn tauri-driver globally instead of per-session: // Move the driver spawning logic from beforeSession to onPrepare
onPrepare: function () {
console.log('\n🚀 Starting Tauri E2E tests with WebdriverIO');
// ... existing logs ...
// Spawn tauri-driver once for all workers
if (SPAWN_TAURI_DRIVER) {
console.log('🔄 Starting tauri-driver...');
tauriDriver = spawn('tauri-driver', ['--port', String(TAURI_DRIVER_PORT)], {
stdio: ['ignore', 'pipe', 'pipe'],
});
// ... existing event handlers ...
// Give tauri-driver time to start
return new Promise<void>((resolve) => {
setTimeout(() => {
console.log('✅ tauri-driver should be ready');
resolve();
}, 2000);
});
}
},
// Remove the driver spawning from beforeSession
beforeSession: function () {
// No longer needed - driver is spawned in onPrepare
},Option 2: Fix the capabilities format Try updating the capabilities in wdio.conf.ts:80-94 to match what tauri-driver v2.0.4 expects: capabilities: [
{
maxInstances: 1,
browserName: 'wry',
platformName: 'linux', // Add platform
'wry:options': { // Try wry:options instead of tauri:options
application: TAURI_APP_PATH,
},
},
]Option 3: Reduce workers to 1 In wdio.conf.ts:78, ensure only one worker runs at a time: maxInstances: 1, // Already set, but verify it's workingRecommendationI suggest implementing Option 1 (move driver spawn to onPrepare) as this ensures only one tauri-driver instance runs regardless of how many specs or retries occur. This is the safest approach. Would you like me to implement this fix? View PR | |
|
@claude here's a link to the tauri docs of how they setup the tests. https://tauri.app/develop/tests/webdriver/example/webdriverio/ the direct link showing the config => https://tauri.app/develop/tests/webdriver/example/webdriverio/#config edit my config accordingly |
|
Claude finished @munezaclovis's task in 1m 32s —— View job Updating WebdriverIO Configuration
Root Cause & FixThe test failures were caused by tauri-driver being spawned per-session instead of once globally. This led to:
Changes MadeUpdated Before:
After:
This ensures only one tauri-driver instance runs regardless of:
TestingThe fix addresses the specific errors from the CI logs:
The tests should now pass. If they still fail, it may indicate a different issue (e.g., application binary not found, tauri-driver version compatibility). View PR | Latest commit | |
- Moved tauri-driver spawning from beforeSession to onPrepare hook - This ensures only ONE tauri-driver instance runs for all test workers - Prevents port binding conflicts when tests retry or multiple workers start - Cleaned up afterSession hook since cleanup happens in onComplete Fixes the 'Failed to match capabilities' and port 4444 binding errors. Co-authored-by: Clovis <munezaclovis@users.noreply.github.com>
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
Summary
Adds missing
data-testid="connection-form"attributes to both the new connection and edit connection forms. This attribute is expected by the E2E tests intests/e2e/specs/connection.e2e.ts:143.Changes
data-testid="connection-form"to new connection form at line 115data-testid="connection-form"to edit connection form at line 176Fixes #3
🤖 Generated with Claude Code