Earlier quoted context omitted.
So this is a path that we definitely considered. However we think its a half-measure to generate actual Playwright code and just run that. Because if you do that, you still have a brittle test at the end of the day, and once it breaks you would need to pull in some LLM to try and adapt it anyway. Instead of caching actual code, we cache a "plan" of specific web actions that are still described in natural language. Fo…
Did you consider also caching the coordinates returned by moondream? I understand that it is cheap, but it could be useful to detect if an element has changed position as it may be a regression
Show HN: Magnitude – open-source, AI-native test framework for web apps
31–40 of 45 posts
Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#32> The idea is the planner builds up a general plan which the executor runs. We can save this plan and re-run it with only the executor for quick, cheap, and consistent runs. When something goes wrong, it can kick back out to the planner agent and re-adjust the test. I've been recently thinking about testing/qa w/ VLMs + LLMs, one area that I haven't seen explored (but should 100% be feasible) is to have the first run…
We have multiple fallbacks to prevent flakes; The "cheap" command, a description of the intended step, and the original prompt.
If any step fails, we fall back to the next source.
Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#33Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#34Earlier quoted context omitted.
Did you consider also caching the coordinates returned by moondream? I understand that it is cheap, but it could be useful to detect if an element has changed position as it may be a regression
So the problem is if we cache the coordinates and click blindly at the saved positions, there's no way to tell if the interface changes or if we are actually clicking the wring things (unless we try and do something hacky like listen for events on the DOM). Detecting whether elements have changed position though would definitely be feasible if re-running a test with Moondream, could compared against the coordinates o…
Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#351. https://netflixtechblog.com/introducing-safetest-a-novel-app...
Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#36Why not make the strong model compile a non-ai-driven test execution plan using selectors / events? Is Moondream that good?
Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#37This looks pretty cool, at least at first glance. I think "traditional web testing" means different things to different people. Last year, the Netflix engineering team published "SafeTest"[1] an interesting hybrid / superset of unit and e2e testing. Have you guys (Magnitude devs) considered incorporating any of their ideas? 1. https://netflixtechblog.com/introducing-safetest-a-novel-app...
Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#38 test('can log in and see correct settings')
.step('log in to the app')
.say('my username is user@example.com')Re: Show HN: Magnitude – open-source, AI-native test framework for web apps
#39However, I do not see a big advantage over Cypress tests.
The article mentions shortcomings of Cypress (and Playwright):
> They start a dev server with bootstrapping code to load the component and/or setup code you want, which limits their ability to handle complex enterprise applications that might have OAuth or a complex build pipeline.
The simple solution is to containerise the whole application (including whatever OAuth provider is used), which then allows you to simply launch the whole thing and then run the tests. Most apps (especially in enterprise) should already be containerised anyway, so most of the times we can just go ahead and run any tests against them.
How is SafeTest better than that when my goal is to test my application in a real world scenario?