Been working on a desktop app for Mac that lets you create web flows and rerun them (
https://www.donobu.com/).
You can optionally use AI (BYOK: bring your own keys) to create flows for you and to do other interesting things, like making vision-based semantic assertions. Also, your data lives on your own filesystem, and we do not see any of it (further still, there is no phoning home at all). A nice benefit of this being a desktop app rather than a SAAS product, is that if you happen to be developing/iterating on a webpage locally, this has no problem hooking into it.
What this intends to be a good fit for:
- Testing web pages, especially locally.
- Exploring random webpages with a stated objective.
- Automating tedious flows. Rerunning a flow won't get caught up on using a single selector (many websites randomize element IDs, for instance), there is smart failover using a prioritized list of selectors.
- Getting a quick draft of an end-to-end test in Javascript.
What this is a bad fit for:
- Mass web scraping (too slow).
- Adversarial websites.
What we are still working out:
- Click-and-drag operations.
- Websites that are primarily controlled from canvas.
- Smoothing out UI/UX (we are two backend engineers trying our best, and are handedly outgunned by real frontend engineers).
Fun things to try:
- Asking it to assert that a webpage has a certain theme.
- Asking it to run an accessibility report for a page (uses https://github.com/dequelabs/axe-core).
- Asking it to run a cookie report for a page.
The tech:
- Java 21 for the main business logic.
- Javalin 6 for the web framework (https://javalin.io/).
- Playwright for controlling the browser (https://playwright.dev/java/).
- Axe for running accessibility reports (https://github.com/dequelabs/axe-core).
Critical feedback is welcome. Thanks for trying it out!
Cheers,
-Justin and Vaz
You can optionally use AI (BYOK: bring your own keys) to create flows for you and to do other interesting things, like making vision-based semantic assertions. Also, your data lives on your own filesystem, and we do not see any of it (further still, there is no phoning home at all). A nice benefit of this being a desktop app rather than a SAAS product, is that if you happen to be developing/iterating on a webpage locally, this has no problem hooking into it.
What this intends to be a good fit for: - Testing web pages, especially locally. - Exploring random webpages with a stated objective. - Automating tedious flows. Rerunning a flow won't get caught up on using a single selector (many websites randomize element IDs, for instance), there is smart failover using a prioritized list of selectors. - Getting a quick draft of an end-to-end test in Javascript.
What this is a bad fit for: - Mass web scraping (too slow). - Adversarial websites.
What we are still working out: - Click-and-drag operations. - Websites that are primarily controlled from canvas. - Smoothing out UI/UX (we are two backend engineers trying our best, and are handedly outgunned by real frontend engineers).
Fun things to try: - Asking it to assert that a webpage has a certain theme. - Asking it to run an accessibility report for a page (uses https://github.com/dequelabs/axe-core). - Asking it to run a cookie report for a page.
The tech: - Java 21 for the main business logic. - Javalin 6 for the web framework (https://javalin.io/). - Playwright for controlling the browser (https://playwright.dev/java/). - Axe for running accessibility reports (https://github.com/dequelabs/axe-core).
Critical feedback is welcome. Thanks for trying it out!
Cheers, -Justin and Vaz