Are you craving an automation tool that is completely free and also has a robust community built into and around it?
If so, you should definitely check out TestProject.
One of the first questions I usually ask framework creators is, “Why did you feel the need to create another framework?”
Why Another Test Automation Framework?
Mark Kardashov, CEO and co-Founder of TestProject, shared some of his experiences with me on a recent Test Guild podcast. He said that although there’s a great passion around open-source projects like Selenium and Appium, there weren't any solutions that allowed a manual tester to use those tools efficiently.
Let's be honest. Tools like Selenium target testers who have developer skills. But in my experience, the ability to write good code and tests is pretty rare.
As a result, many testers are unable to use these developer-centric testing tools. TestProject’s framework was created to allow more testers and organizations to benefit from the two primary open-source tools for automation—Selenium, and Appium.
Using this framework also gives them the added benefit of being able to collaborate with each other effortlessly.
The most interesting point here to me is the collaboration piece. It’s an area that sets TestProject apart from most other frameworks.
What about Collaboration?
One of the main drivers for many of the collaboration efforts in TestProject is its add-ons.
Add-ons allow testers around the globe to use functionality that other testers are sharing in TestProject.
Add-ons are test automation building blocks that can be reused by others. When you log on to the TestProject portal, you can see all the add-ons available to you under the Community Menu.
It feels like an app store for testers!
These are some of the add-ons that are available to you as soon as you install TestProject:
- MSSQL Database – allows you to test the connection and to send a query to an MSSQL database. You can use this add-on to send an SQL query and get the response in JSON format. Then, you can compare this output with the UI data.
- JSON Operations – actions to validate, search, and get values from a JSON string object. This add-on uses JsonPath, a Java DSL, for reading JSON documents.
- Web List Operations – provides actions to count items and retrieve their values for drop-downs and ordered/unordered lists.
- File Uploader – uploads a file from your local machine to an input and button element of type file
It features the Magic Object Model for on-the-fly object recognition of visible Links, Buttons, Fields, Lists, Tabs, and Check Boxes. (**Paul talks about how easy it was to create a TestProject add-in in episode 276 of the Test Guild Automation Podcast)
These are just a few examples from their ever-expanding library.
If you develop an add-on that could be useful to someone else (like Paul did), you can share it with the entire community. And anyone, even folks not directly related to your account, can download and use that add-on as part of their automation,
Or, if you work for a large enterprise, you can share your project exclusively with folks in your organization. That way, other teams can leverage your company-specific add-ons as well.
As you can see, add-ons are a great way to encourage collaboration, not just between team members but also with testers all around the world.
So how to get started?
Parts of TestProject
There are two main parts that makeup TestProject. One of them is the TestProject Agent.
All you need to do is install and run it locally; you'll then able to create and run tests on your local machine.
The other piece is the TestProject Portal.
The portal acts like a testing repository where teams can easily collaborate by running and analyzing their test automation results and assets all in one location.
The TestProject Cloud allows you to manage everything for your automation and provides you with a complete, integrated automation solution to test Web, iOS, and Android apps.
This setup makes it easy to install and reduces the maintenance of updating software and drivers.
Since the agent comes with Selenium, Appium, and all other configurations and drivers (rather than having to download and spend time configuring everything to work), this one-click install is a huge time saver.
It also helps with upgrades. Because it's a Cloud solution, it already has the latest and greatest Selenium and Appium versions and drivers upon login, so you don't need to worry about having to upgrade anything yourself.
Also, as you’re probably aware, Selenium and Appium drivers are not always that stable. Sometimes they need an updated version to resolve bugs. With TestProject, however, you needn’t worry. It automatically uses the most stable versions of the Selenium and Appium drivers.
Global Automation Grid
One of the functions I really liked in vendor tools like ALM and QuickTest Professional was the ability to quickly set up a test to run on specific machines across my organization.
This was because the QTP agent communicated to ALM and let me know all the machines that were available to me at any given time.
TestProject has this functionality.
For instance, if you’re working with a remote team that is part of your account, they will automatically show up as part of your execution grid. You can then execute and schedule your test cases to run against specific agents around the globe.
If you want to incorporate TestProject into your CI/CD pipelines, you can also use their dedicated plugin for Jenkins. On top of that, they also have an API that allows you to perform any action that you would enact through the UI using just the API. So you can trigger a job, tests, and get a full set of reports as a Jason.
For those who don't have any CI/CD tools, the job's monitoring screen is an additional capability that teams can use as a good starter.
TestProject is no different than most other automation tools that are newly on the market that are reintroducing the old concepts of record and playback with an “AI” twist. They're using AI-based techniques to identify the elements your users are interacting with. Based on their analyses, the tool can then suggest the most appropriate add-ons and/or actions based on those elements.
The goal is to extend the number of actions the user can employ against a specific element. And that makes their recorder that much smarter.
No matter how good an automation tool’s recorder is, I’m aware that many testers love to see and write test code themselves.
Not an issue with the TestProject SDK.
Developing Automation Tests
You can use the TestProject SDK with standard Selenium and Appium APIs to integrate it with your existing tests.
It can also be used to develop new tests.
A common scenario is generating the code from scripts created by the TestProject recorder and enhancing them with additional code or logic.
How Will Being Acquired Affect TestProject?
Should you be worried about the fact that Tricentis recently acquired TestProject?
No! According to Mark, the project will retain its free, community-based offering.
Tricentis is becoming more involved in the open-source space. Providing and supporting TestProject is an important step in expanding their support for the open-source community.
So, should you give TestProject a try?
Is TestProject Right for You?
Based on my analysis, TestProject is a framework that is fully equipped with all the features every test automation engineer needs.
It provides a complete toolchain around Appium and Selenium frameworks. It also offers must-have automation framework features like built-in reports, distributed execution and recording capabilities and more.
I think it’s a must-try. And as I mentioned it’s 100% free so what do you have to lose?
Give it a go yourself and let me know what you think!