Reflect
p/reflect-2
Blazing fast automated testing
Kat Manalac
Reflect 2.0 — A no-code testing platform for web apps
Featured
20
Reflect is a no-code, cloud-based platform for creating end-to-end tests. It's the fastest way to create and maintain end-to-end tests for your web app.
Replies
David Tran
Congrats on the launch @toddmcneal @fitzn! When I first tried out Reflect, I had a big AHA moment— this is definitely the way to keep regression test coverage high and up-to-date for teams that release often. Previously, I had written tons of selenium tests with CSS selectors and various mock hacking. Being able to drag-drop and "write tests" visually is a game-changer even if an engineer is the one doing it.
Todd McNeal
@dtran320 Thank you David! It's been great working with you and the team at Flow Club
Trey Griffith
We use Reflect as our end-to-end testing suite for https://xkit.co and love it. The point-and-click to create tests works way better than you would assume it does (e.g. its not nearly as flaky as code-built tests are), and the segments that let you build larger tests from smaller building blocks (like logging into the app) are a huge time saver.
Todd McNeal
@tgriff3 Thank you Trey - it's been great having Xkit as a customer. Looking forward to providing your team with more features and improvements in the coming months!
Ryan Chan
Congrats on the launch!
Todd McNeal
Abhi Ballabh
Lately its not allowing to register, failing registration everytime. Can someone assist ?
Derrick Li
Congrats! Looks amazing
Todd McNeal
@thederrickli Thank you Derrick!
Todd McNeal
@scott_berry2 Thank you Scott!
Todd McNeal
Hi Product Hunt! We're excited to launch the new version of Reflect today! Back in April of 2020, my co-founder Fitz and I launched Reflect right here on Product Hunt. Since then, Reflect has evolved from just a fast way of creating end-to-end tests, to a complete testing platform that helps developers build and maintain test suites in a fraction of the time of other tools. Testing helps prevent customers from hitting bugs. We all know that. But why is the process of testing web apps so inefficient? If you were building an automated test suite today, you'd probably use a code-based tool like Selenium or Cypress. Code-based testing has been the norm for the past 15 years (!), and yet it still has some very fundamental problems that make them difficult to use: 1. Translating a user's actions into code is a painstaking, time-consuming process. Just think of a simple workflow in your app, like signing up for a new account. There's probably 20 or 30 separate steps involved. Translating each click and form field interaction into code is not something that most developers would consider the highlight of their day. 2. These tests break all of the time. Any change you make to your app is at risk of breaking these tests. That's because these tools use a single CSS selector to know what element to target when running an action like a click or form input. These hidden dependencies often cause tests to fail even when no bug is present. Having to fix up tests all the time becomes a huge distraction and causes test suites to quickly fall out of use. 3. Existing tools have major limitations that prevent you from testing common workflows or catching common types of bugs. Cypress can't test workflows that span multiple domains, so good luck testing Google sign-ins. Selenium has poor support for drag-and-drop, file-uploading, and common building blocks like Web Components and Shadow DOM. Neither tool can detect visual regressions, like a button that's the wrong color or a modal that's obscured. This means even if you had 100% test coverage, you're still going to have a whole class of failures that you're not going to catch. And if you want coverage for visual issues, you'll need to use a third-party tool that costs extra. We've built Reflect to address these issues. With Reflect, you don't write code to create tests. Instead, Reflect spins up a browser in the cloud and records your actions as you use your site. Those actions are automatically translated into tests. We believe the *browser* is the best interface for creating E2E tests, not your IDE. For one thing, it's way faster. Workflows that would take half a day to write in a code-based tool take just a few minutes to build in Reflect. Since end-to-end tests replicate user behavior, any workflow that you'd want to test, *by definition* can be done in the browser directly. So in a sense we're just cutting out the middle-man :) We've also built what we believe is the best way of maintaining these tests: an online debugger for your tests. You can fast-forward into any part of a test and add additional steps, tweak settings, and watch the test run live to ensure it's repeatable. If an issue is found with your test changes, you can take steps to fix it immediately. We even provide a set of recommendations for how to fix up the issue. And if you’re a developer fearing the loss of code reuse in a no-code tool, we have that covered too, with reusable sub-tests called Segments Reflect is a "batteries included" solution in that the infrastructure for running the tests is provided with our application. You can choose to schedule tests (e.g. run them daily at noon), run them on-demand, or hook it up to your CI/CD platform to kick tests off after a successful deployment. We also integrate with platforms like Vercel and Heroku so that you can use Preview Environments to run tests on every Pull Request. We're excited to get your feedback on what's been over a year of product development and iteration since our initial launch! - The Reflect Team (Fitz, Kyle, Todd, and Zach)
Courtney Johnston von Nieda
Excited to see this update, we're always on the lookout for a place we can use Reflect.
ayush gupta
I really appreciated the concept, seems like it will be quite a life saver for developers! But can you specify how Reflect will catch visual issues without a third party tool?
Todd McNeal
@gupta_ayushh You don't need to use a third-party tool because we have have visual testing support built into Reflect. :) Here are some details on how it works: https://reflect.run/docs/recordi...
Dmitry Goloktionov
I really liked your platform. Good luck.
Todd McNeal
@dmitry_goloktionov Thank you Dmitry!
Ben Northrop
Nice product. How does it compare to Ghost Inspector?
Todd McNeal
@ben_northrop Thank you Ben! The biggest differences are: 1. Ghost Inspector requires you to use their Chrome extension to record tests. This is the most common approach by far for record-and-playback tools. To record a test in Reflect, you're interacting with a browser session that's running in the cloud and screenshared with you within the app. This means there's nothing to install, but a bigger benefit is that our approach allows us to completely control the test environment. This means tests are more accurately recorded, and we can guarantee that the environment used for recording the tests is identical to the environment used when running the tests. A lot of times with other tools you'll hit issues where there was something in your recording session that is different when you go to run the test later, and that causes tests to fail unnecessarily. 2. We can record pretty much any action in the browser, and replay it accurately. You can see the full list of actions we support here: https://reflect.run/docs/recordi.... Ghost Inspector has limitations for things like hovers, drag-and-drop, file uploads, and Shadow DOM which can make it more difficult to build tests that use these features.