Personal helper tool for prototype testing
AreaClicker was designed with multiple use cases in mind and serves as a general RTS experiment aid via random time interval UI mouse simulations.
Project Overview
Niche program testing, ranging from persistent UIs or real time systems would benefit from automation's of user actions according to developer design. This concept exceeds the scope of regular unit testing or end-to-end testing, but falls short of demos due to the focus on long repetetive actions. This program allows for design of test case and automation.
Implementation
Rust's strong enum types were used for strict states of actions and objects. Areas are user entered via a selection from display, as well as further customization of sequenced clicks and wait times. To ensure robustness through lengthy run states, time intervals are periodically divided for task waiting allowing interoperability and fluid processor sharing.
Tools and Technologies
- Rust desktop stack with eframe/egui for UI, Enigo for mouse control, winit/display-info for window and monitor handling, serde/TOML for saved presets, and rand for human-like movement timing
- Cargo-based builds and tests, Rust unit tests, compiled run-plan validation, recursive sequence detection, bounds validation, delay normalization, and optional rdev hotkey hooks