CTRL+ALT+TICKET is a Python Selenium-based recorder and player that captures browser interactions and replays them as automated workflows. It ships with a Tkinter GUI and a robust recording engine for clicks, typing, scrolling, drag-and-drop, navigation, waits and screenshots.
- Launch isolated Chrome session per run (temporary profile)
- Record events: click, type, scroll, drag, navigate
- Manual actions: wait and screenshot
- Playback engine with element resolution and ActionChains drag support
- Script save/load (JSON)
- Listener diagnostics (Test Listener)
- Same-origin iframe support (uses top-level shared store)
When you start recording the tool injects a small JavaScript listener into the opened Chrome page (and same-origin frames when possible). The listener pushes events into a top-level array in the browser. A background Python thread polls this array and stores events in memory. Playback re-locates elements and executes recorded actions using Selenium.
You can distribute CTRL+ALT+TICKET as a single executable for Windows using PyInstaller (or similar packagers). Below are minimal packaging instructions.
pip install pyinstaller pip install selenium webdriver-manager
pyinstaller --onefile --add-data "path/to/chromedriver;." main.py
Notes:
- PyInstaller will bundle Python and your code into a single binary. Include any non-Python assets using
--add-data. - Chromedriver is obtained automatically at runtime by
webdriver-manager— ensure network access on first run or bundle a tested chromedriver matching target Chrome. - Test the built executable on a clean VM similar to end-user machines.
- Test evidence: Record exact user actions and screenshots to attach to bug reports.
- Reproducible bugs: Replay tester scripts so developers can reproduce issues precisely.
- Regression checks: Save failing-case scripts as repeatable regression tests.
- UI smoke tests: Automate frequent flows (login, checkout, form submission) for quick verification.
- Input tracking: Log typed values to identify which inputs cause validation or server errors.
- Automation starter: Use recorded scripts as templates for building full Selenium test cases.
- Onboarding & demos: Provide recorded flows for training or consistent product demonstrations.