Skip to content

test: migrate e2e tests from Playwright to autotest YAML framework#995

Merged
wenytang-ms merged 13 commits intomainfrom
feat/autotest-e2e-migration
Apr 24, 2026
Merged

test: migrate e2e tests from Playwright to autotest YAML framework#995
wenytang-ms merged 13 commits intomainfrom
feat/autotest-e2e-migration

Conversation

@wenytang-ms
Copy link
Copy Markdown
Contributor

Migrate e2e tests to autotest YAML. Local verification: 45/45 passed.

wenytang-ms and others added 6 commits April 22, 2026 16:17
Change isJavaIdentifier() regex from ASCII-only /^([a-zA-Z_$][a-zA-Z\d_$]*)$/
to Unicode-aware regex using ES2018 property escapes per JLS §3.8.

This allows non-ASCII identifiers (e.g., Japanese ほげ, Chinese 中文类名,
accented Ñoño) to be accepted in the New Java File and Rename wizards.

Fixes #789

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The .project file defined name '1.helloworld' but JDT LS may override it
with the folder name 'simple'. Align .project name with folder name to
eliminate the inconsistency.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
JDT LS may return additional source roots (e.g. target/generated-sources)
that shift node indices. Replace hardcoded array indices with find()-by-name
lookups to make tests resilient to JDT LS version differences.

- Maven: find containers by name instead of [2]/[3]
- Maven: check specific nodes hidden instead of exact count
- Gradle: find nodes by name, increase timeout to 120s
- Multi-module: add assertion guard before getChildren()

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Upgrade actions/checkout@v2 -> @v4, actions/setup-java@v1 -> @v4,
  actions/setup-node@v2 -> @v4 across all 3 CI workflows
- setup-java@v4 with distribution: temurin fixes macOS ARM64 JAVA_HOME
- Multi-module test: add languageServerApiManager.ready() to suiteSetup
  so Maven module names are fully resolved before assertions
- Accept folder name or .project name variants for level1 submodule

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the Playwright-based e2e test suite with autotest YAML test plans:

- Add test/e2e-plans/java-dep-project-explorer.yaml
  Covers: focus Java Projects, link/unlink with editor, tree expansion
- Add test/e2e-plans/java-dep-file-operations.yaml
  Covers: create class, create package, rename file, delete file

- Update linuxUI.yml and windowsUI.yml CI workflows to:
  Build VSIX → clone/build autotest → run-all test plans

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
wenytang-ms and others added 3 commits April 24, 2026 09:28
- CI: replace git clone + build with 'npm install -g github:...'
- Fix rename test: use open-file + link-with-editor instead of manual
  tree expansion (avoids tree hierarchy change after package creation)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@wenytang-ms wenytang-ms changed the title feat: migrate e2e tests from Playwright to autotest YAML framework test: migrate e2e tests from Playwright to autotest YAML framework Apr 24, 2026
wenytang-ms and others added 4 commits April 24, 2026 10:03
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- CI: add AZURE_OPENAI_* env vars, remove --no-llm
- Rename test: click to select before context menu, add waitBefore
- Rename test: add waitBefore to fillQuickInput for input box timing

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
On Linux, context menu Rename may trigger VSCode's built-in inline
tree rename instead of the extension's showInputBox. fillAnyInput
detects whichever input appears and fills it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Rename: use fillAnyInput (handles both inline and quick input)
- Rename: use confirmDialog instead of tryClickDialogButton OK
- Fix verify tab title: 'AppRenamed' not 'AppRenamed.java'

Local verification: 44/44 passed (31/31 + 13/13)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@wenytang-ms wenytang-ms merged commit e166e69 into main Apr 24, 2026
6 checks passed
@wenytang-ms wenytang-ms deleted the feat/autotest-e2e-migration branch April 24, 2026 03:28
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.

2 participants