xuang7 opened a new issue, #7520:
URL: https://github.com/apache/texera/issues/7520
### Feature Summary
Step 2 of the operator-demo video generator: add the two controllers to the
Playwright automation layer.
A controller is a reusable, named sequence of UI actions against the real
Texera frontend. Each one wraps the selectors, clicks, and waits for one slice
of the workflow behind a small builder API, so a per-operator demo script reads
as a list of intentions rather than browser mechanics, and UI changes are fixed
in one place instead of in every script.
### Proposed Solution or Design
Add two controllers to the Playwright layer, covering the start of every
demo run:
1. LoginControllerBuilder. Local username/password login.
2. NavigationControllerBuilder. Create a workflow, import a sample workflow,
and clean the canvas. These run in the setup phase, before recording starts, so
a video does not open on login and setup boilerplate.
```
new LoginControllerBuilder(ctx)
.login(user.username, user.password)
.execute()
new NavigationControllerBuilder(ctx)
.createNewWorkflow()
.importWorkflow(TestDataConfig.workflowJsonDir)
.execute()
```
Frontend hooks. Adds the data-testid attributes these two controllers rely
on: login-username, login-password, and login-submit on the local login form,
plus navigation-create-workflow-button and navigation-workflow-canvas. Without
stable ids the automation has to match on component-library classes and DOM
structure, which break on unrelated refactors. This step also adds a guard test
asserting those ids exist, so a later refactor cannot silently remove one and
break video generation.
### Affected Area
_No response_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]