Skip to content

Fix Playwright sign-in: fill the input inside the password v-text-field - #10

Merged
ryanmelt merged 1 commit into
mainfrom
fix-playwright-password-fill
Sep 23, 2026
Merged

ryanmelt merged 1 commit into
mainfrom
fix-playwright-password-fill

Conversation

@ryanmelt

Copy link
Copy Markdown
Member

Summary

Sign-in in playwright-plugin/tests/auth.setup.ts fails on every plugin that uses plugin-playwright-reusable.yml, so the plugin never gets installed:

Error: locator.fill: Element is not an <input>, <textarea>, <select> or [contenteditable]
  - locator resolved to <div data-test="new-password" class="v-input ... v-text-field">

COSMOS's Login.vue puts data-test="new-password" and data-test="confirm-password" on a <v-text-field>. Vuetify places that attribute on the wrapper <div>, not on the inner <input>, and Playwright can't fill a div. The fix targets [data-test=...] input for the two fill() calls. The visibility checks and the button clicks stay as they are. v-btn renders a real <button>, so the clicks were never affected.

This isn't a COSMOS regression: that part of Login.vue is identical in v7.3.0 and v7.4.0. The bug slipped through because this is the first plugin run that actually got as far as the harness.

Failing run: https://github.com/OpenC3/openc3-cosmos-kayhan/actions/runs/35888888718

Test plan

  • npm run typecheck and npm run list pass in playwright-plugin/
  • Re-run the openc3-cosmos-kayhan Plugin Playwright workflow after merge and confirm it gets past sign-in

🤖 Generated with Claude Code

Login.vue puts data-test=new-password and data-test=confirm-password on
v-text-field, which Vuetify renders as a wrapper div around the real input.
Playwright refuses to fill a div, so sign-in failed before any plugin was
installed and every plugin using the reusable workflow failed its Playwright
job. Target the input inside each wrapper instead.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ryanmelt
ryanmelt merged commit cbaf8cb into main Sep 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant