Oracle Fusion registration bot
Python bot that fills in Oracle Fusion registration screens from spreadsheets, with declarative flows written in JSON.
Context
Repetitive registrations in Oracle Fusion take time when typed in screen by screen. This bot reads the data from a CSV or an Excel spreadsheet and runs the registrations automatically.
What I built
- A bot that attaches to a Chrome or Edge tab the person has already signed in to, and never logs in on its own.
- CSV and XLSX reading, with the file validated before the browser is even opened.
- A declarative engine: each registration is described as a JSON flow, checked against a schema, instead of code written for every screen.
- A visual flow designer and a report at the end of every run.
Technical decisions
- No password in the bot. The person signs in to Oracle once, in a dedicated browser profile, and the bot reuses that session. No stored credentials.
- Fields found by label, never by fixed identifier. Oracle ADF screens change identifiers easily; the visible label is stable.
- Waits built for ADF. The bot waits until the screen is truly ready (loading overlay gone, network idle, page no longer changing) instead of using fixed pauses.
- Errors handled per record. Oracle error messages are captured and handled record by record, so one bad record does not bring the whole batch down.
Results
- Around 300 automated tests, run against HTML screens that imitate ADF, with no access to Oracle needed.
- New registrations become JSON flows, not new code.
- ~300
- automated tests, with no dependency on Oracle
Stack
- Python
- Playwright
- Chrome DevTools Protocol
- Oracle Fusion (ADF Faces)
- JSON Schema