Testkit - Code-less testing

Yassine Zeriouh

Testkit is a project that was born out of a problem I have experienced at multiple companies that I worked for in the past. End-to-end and integration testing is a very tedious and dreaded task, but it is one of the most important disciplines.
The goal of Testkit is to provide a code-less and fully integrated solution for testing, by providing a browser extension to record events performed on a website. The chrome extension frontends were all made with Svelte. The extension was previously made with Angular, but Svelte seemed to be an easier-to-maintain alternative.
Another part is running these tests. Usually you would use browser automation platforms or deploy your own infrastructure to run your tests across multiple browsers with video recording etc. - Testkit runs a proprietary WebDriver server (still in the works) written in Ruby, that deploys isolated Docker instances on the right server to run your tests against, even for MacOS!
And then there is the most frustrating part for me and many other developers: maintenance. Usually, you would go and look for every time there is an interaction with parts that were changed, and then update selectors, steps, etc. - This may sound easy but it uses up a lot of time and is sometimes a very frustrating task, especially if you overlook some parts. Testkit solves a bit of this problem already, by capturing fallback selectors on every test run (E.g. find an element by XPath, innerText, sibling, etc.) - and whenever a step doesn't find the selector, it will try to find the new selector by trying out the fallback selectors that were previously captured. So it basically auto-fixes selector changes.
In the future, I plan to integrate more smart features like this, that make maintenance mostly automated - and if there has to be some manual work for maintenance, then make it as easy as possible.
Testkit was founded by me and I have been working on it for half a year now. I want to take it more slowly with this project, since it is a complex problem to solve. Even after this is done, I want to take it slowly and keep this on the side (The bootstrapped way) - hence why I am looking for some contracting work to do on the side.
Like this project
0

Posted Sep 11, 2022

Testing is tedious, but it shouldn’t be. Testkit is the code-less testing platform that will make you 10x more productive.