Early in 2015 we had some time available for a short internal project. One E-gineer had just rolled off an engagement where the client was building automated test solutions around Selenium and Python. Matt’s experience on that project was very positive – seeing Selenium and Python used in a way that brought quality confidence around a very important web application for the State of Indiana. But he also saw that there was room for improvement for standalone Selenium-Python solutions. So we figured it was time to make the most of this opportunity of a perceived need, and some rare available E-gineer time.
We did some looking around for existing Selenium-Python testing frameworks, and had high hopes that we’d find a mature, active set of options. We did find some that seemed promising at first. But either the activity around them had dwindled, they had moved on, or they were tighter-focused on some aspect or other and just didn’t offer what we were looking for.
A Toolkit, Not a Framework
So, knowing what we wanted, and knowing that we could leverage Matt’s availability and recent experience, we commissioned a project to write our own automated test “toolkit.” We intentionally chose to call it a “toolkit” and not “framework,” because we envisioned walking into a client with a lightweight but powerful set of tools that were immediately usable, as opposed to a heavy “framework” to be adopted and force-migrate a client into.
We call this creation of ours E-gineering Automated test Toolkit, or E-gAT.
Publicly, Freely Available
From a philosophical standpoint, we wanted to build out the toolkit and make it freely available. We didn’t want to build a private practice around it or keep it to ourselves in that way. Sure, we intend to offer consulting services around it. But we wanted the rest of the world to see it and have a chance to improve it, too. That’s why we put E-gAT out on GitHub.
Coming Up Next…
This first post in the series has been a bit of a teaser for E-gAT. In the follow up post(s), we’ll cover more of the technical aspects of the toolkit. (Part 2)