zeba_academy_ui_replay 0.0.1
zeba_academy_ui_replay: ^0.0.1 copied to clipboard
Record & replay UI interactions in Flutter for testing and debugging.
zeba_academy_ui_replay #
๐ Record & Replay UI Interactions in Flutter
zeba_academy_ui_replay is a lightweight Flutter package designed for recording and replaying user interactions such as taps and gestures. It is ideal for testing, debugging, and automation without relying on external services.
โจ Features #
- ๐ฅ Record taps & gestures
- โถ๏ธ Replay UI interactions
- ๐พ Export logs (JSON)
- ๐ก Works fully offline
- โก Lightweight & fast
๐ฆ Installation #
Add this to your pubspec.yaml:
dependencies:
zeba_academy_ui_replay: ^0.0.1
Then run:
flutter pub get
๐ Getting Started #
1๏ธโฃ Import Package #
import 'package:zeba_academy_ui_replay/zeba_academy_ui_replay.dart';
2๏ธโฃ Initialize Recorder & Replayer #
final recorder = UIRecorder();
final replayer = UIReplayer();
3๏ธโฃ Wrap Your UI #
RecordableWidget(
recorder: recorder,
child: YourWidget(),
)
4๏ธโฃ Start & Stop Recording #
recorder.start();
recorder.stop();
5๏ธโฃ Replay Events #
await replayer.replay(
recorder.events,
(offset) {
print("Tapped at: $offset");
},
);
6๏ธโฃ Export Logs #
final path = await UIExporter.export(recorder.events);
print("Saved at: $path");
๐ง How It Works #
User Interaction
โ
RecordableWidget
โ
UIRecorder โ Stores Events
โ
Exporter โ JSON File
โ
UIReplayer โ Simulates Events
๐งช Testing #
Run tests using:
flutter test
Includes:
- Recorder tests
- Replayer tests
- Widget interaction tests
๐ Project Structure #
lib/
โโโ src/
โ โโโ models/
โ โโโ recorder/
โ โโโ replay/
โ โโโ widgets/
โ โโโ utils/
โโโ zeba_academy_ui_replay.dart
๐ฎ Roadmap #
- โ Drag & swipe gesture support
- โ Visual replay overlay
- โ Speed control for replay
- โ Widget key-based replay
- โ Integration with Flutter test framework
๐ License #
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
You are free to:
- Use
- Modify
- Distribute
Under the condition that:
- Source code must be disclosed
- Same license must be applied
๐จโ๐ป About Me #
โจ Iโm Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects. You can learn more about me and my work at sufyanism.com or connect with me on Linkedin
๐ Your all-in-one no-bloat hub! #
๐ Explore cutting-edge resources in coding, tech, and development at zeba.academy and code.zeba.academy. Empower yourself with practical skills through curated directives, real-world projects, and hands-on experience. Level up your tech game today! ๐ปโจ
Zeba Academy is a learning platform dedicated to coding, technology, and development.
โก Visit our main site: https://zeba.academy โก Explore hands-on courses: https://code.zeba.academy โก YouTube: https://www.youtube.com/@zeba.academy โก Instagram: https://www.instagram.com/zeba.academy/
โญ Support #
If you like this project:
- โญ Star the repo
- ๐ด Fork it
- ๐ Contribute
๐ Contributions #
Contributions are welcome! Feel free to open issues or submit pull requests.
๐ฌ Feedback #
Have ideas or improvements? Open an issue or reach out โ your feedback helps make this better.
Thank you for visiting! โค๏ธ