Testing an application is one of the critical aspects of any SDLC process. In this fast-paced development environment, time to market is a crucial factor. Additionally, it has propelled the need for an efficient, reliable, fast, and powerful automation tool that can fit the diverse skillsets of everyone on an agile team. TestProject is one of the newest entrants into the long list of open-source friendly, community-powered automation tools. Since the launch of the first public version in April of 2018, TestProject has established itself as one of the most powerful and collaborative platforms that can help in delivering flawless user experience. Subsequently, tutorials in this series will take you on an exciting journey to learn specifics of TestProject with detailed step-by-step lessons.
In this tutorial, let's kick off our journey by introducing you to TestProject, starting by understanding its basics, including the following topics:
- What is TestProject?
- Understanding the Architecture of the TestProject Framework
- How to develop automation tests using TestProject?
- What are the different tools provided by it for test automation?
- What are the unique features provided by it?
- Why use it?
What is TestProject?
TestProject is an end-to-end automation tool that provides capabilities to automate Web, API, and Mobile applications. It is an open-source friendly tool built on top of Selenium and Appium, which enables the QA Engineers to test Web applications along with Android and iOS effortlessly. Moreover, a robust collaborative community of thousands of testers using the product backs it. It allows the sharing of TestProject addons created by like-minded automation experts or your team from anywhere across the globe.
Being built on top of the most popular frameworks for testing web and mobile applications, i.e., Selenium and Appium, offers familiar features with the ability to import your existing tests. Additionally, it also addresses some critical pain points of QA engineers have with Selenium and Appium, like adding or installing complex dependencies. TestProject's Agent comes pre-packaged with all vital Selenium and Appium dependencies. Therefore, reducing the installation effort.
It also offers community Addons that can be installed quickly to make automation scripts more robust and reusable. Consequently, it reduces and removes the extra effort QA engineers need to put on complex configuration and customized coding.
Understanding the Architecture of the TestProject Framework
TestProject mainly comprises of two different components: the Test Recorder and the TestProject SDK. The Test Recorder allows the user to directly record the tests from the UI (without writing code), whereas the SDK allows programmatic development of test cases. Additionally, the TestProject SDK offers a common syntax that allows users to write automation tests for both web and mobile applications. As it is built on top of Selenium and Appium, it shares the same commands as those frameworks and therefore reduces the requirement of learning new APIs to write tests. Subsequently, the following figure shows the basic architecture of the TestProject platform:
As we can see from the above diagram, TestProject consists mainly of two components:
- First, Cloud-based services (app.testproject.io), that carry storage, management, reporting, user authentication, and more.
- Second, TestProject agents, which allow for the creation and execution of tests against the targeted applications.
TestProject Cloud Platform
TestProject's Cloud Platform allows users to manage a project, test cases, and addons. By logging in to the TestProject Cloud Platform, a QA Engineer can develop new projects, add test cases, or create and schedule jobs. Additionally, it also allows access to the addon store to install reusable collections of features for test cases. These addons can be shared across the team or published for use by all global users. Moreover, it also provides CI/CD pipeline integration with Jenkins, as well as integration to Slack and other powerful tools for analytics and reporting.
TestProject's Cloud Platform has different components to help a user create robust automation tests. Let's have a look at the image above to understand various components. Moreover, we have marked the components by numeric markers for better understanding.
- Project: as marked by pointer 1; it shows all the project that is present in the platform. Additionally, a project is a collection of test cases and test results. User can group their test cases into logical grouping using projects.
- Test Case: is an automated test case created in the TestProject environment. Additionally, the "New Test" button marked by a numeric 2 marker creates a new test using the test recorder.
- AddOn: is a reusable action that adds useful features to test cases. Moreover, the addons tab denoted by '3' contains information about addons created by your team or shared by the community from across the globe.
- TestProject Agent: the agents tab marked by the marker '4' contains all the information about the available agents. The agent allows tests to run on any computer on which it's installation happens. Additionally, it communicates with the TestProject platform and executes the tests on the local machine.
- Monitor: the monitor tab provides information on current running tests, scheduled jobs, and status of test agents.
- Help and Support: are marked by the marker '6' and is used to connect with the TestProject live support team for resolving any issues.
TestProject Agents
Using a secure SSL encrypted connection, the TestProject Cloud Platform connects with TestProject agents installed on the local system. Additionally, the Agents facilitate communication between the local machine and the TestProject platform. Once connected, the Test Agent will be able to execute all the tests present with the cloud on the local machine.
We can also utilize the agent to execute tests using Docker agents, which can easily install on cloud platforms like Azure or AWS. Furthermore, you can create virtual agents to distribute tests to cloud providers like Sauce Labs and BrowserStack.
How to develop automation tests using TestProject?
TestProject provides two components which help in the development/automation of the test scenarios. These two components are the "Test Recorder" and "SDK", as shown in the following diagram:
Subsequently, let's understand these two test development components of the tool in more detail:
Smart Test Recorder
TestProject offers a Smart Test Recorder to automatically record and create automated test steps just by walking through the application UI. It provides a browser-based test recorder that offers several unique built-in capabilities to accelerate automated test development. Additionally, the Test Recorder is also quite useful for newbies who don't have any prior programming or automation experience. Moreover, it helps new QA enthusiasts to dive into the world of test automation without any prior knowledge of any programming language or experience.
TestProject SDK
The TestProject SDK is an all in one syntax for developing automated tests. It is built on top of popular automation framework libraries like Selenium and Appium to facilitate automation of Web and mobile applications. Moreover, it's SDK currently supports C#, Java, and Python as programming languages, with JavaScript coming soon. It allows easy execution of automated native tests using a single platform, removing any complex setup, configurations, and maintenance.
Note: We will cover the full use of both of these components in future articles.
What are the different tools provided by TestProject for test automation?
TestProject supports several powerful tools and technologies to make life easier for QA Engineers. The image below shows a basic overview of various platforms, browsers, and programming languages supported by it :
- TestProject Mobile Environment Support: Android and iOS operating systems are supported using the Appium framework. Moreover, users can even test iOS applications from a Windows machine.
- TestProject Web Environment Support: Selenium APIs automate the web-based applications you want to test. Currently, it provides support for various significant browsers like Edge, Internet Explorer, Mozilla Firefox, Google Chrome, and Safari.
- Programming Language Support: TestProject currently supports popular programming languages like Java, C#, and Python. The support for JavaScript is under development. Subsequently, we will introduce it with a new release.
What are the unique features provided by TestProject?
There are hundreds of different Automation tools out in the market, then why should anyone choose TestProject or precisely what makes TestProject unique? It offers several notable features that make it a unique proposition. Subsequently, let's have a look at some of the unique features of the TestProject.
Features | Description |
---|---|
Free Automation Development Framework | The most significant advantage of TestProject is its cost. The Free-forever plan to allow the user to use complete features without paying a single penny. Users get to use the full potential of TestProject for a lifetime without worrying about licensing fees. |
Collaborative Testing Repository | TestProject allows the addition of unlimited team members to your project. You can collaborate on a single project by just inviting your teammates and by giving them the permissions. You can provide access to anyone, even a person sitting on the other side of the globe. It allows easy sharing of tests, elements, reports, addons, and any component team may want. |
Addons | One of the most exciting features of the TestProject is the concept of addons. Addons are a reusable collection of coded steps or actions that we can leverage across multiple tests. Addons can either be developed by the team or by the community. |
Easy to Deploy and execute | TestProject removes complex setup, configurations, and installations. Deploying with TestProject is as easy as installing TestProject's Agent. Once Agent is installed on any local system, tests can develop or execute directly on that system without worrying about any dependencies, libraries, or configurations. |
Easy Integration with DevOps tools | TestProject offers seamless integration with popular CI/CD tools like Jenkins and Slack. With just a few clicks, even someone completely new to DevOps can easily integrate automated tests with these tools. It uses RESTful APIs to execute tests and send notifications. |
Multiple Platform Compatibility | As we discussed earlier, TestProject is compatible with multiple platforms like Windows, Mac, Android, and iOS. It also supports all major browsers. The SDK can also provide support for various programming languages like Java, C#, and Python. |
Ease of Use | It is probably one of the most user-friendly automation tools in the market. Simple tooltips, easy, quick tutorials, and intelligent feature placement ensure that even a first time user can quickly get accustomed to the UI and can start developing tests in no time. |
Elaborate Test Analytics | Extensive test analytics provide greater insight into the test results. It let you compare your tests across multiple environments, analyze step-by-step execution, and share execution reports with your team. |
Why Use TestProject?
TestProject provides an innovative and powerful automated testing solution for web and mobile testing. It has in-built support for popular development languages like Java, C#, and Python. The main aim is to provide the user with a comprehensive and reliable automation testing solution that can allow them to complete their task easily and quickly. With support for Selenium and Appium and in-built collaborative function, it stands out in the list of different automated test solutions.
Let's have a look at a few reasons that might interest you.
- Team Collaboration: One of the most touted features of the TestProject is team collaboration. It allows the whole team to work on the same project, thus making collaboration easy, simple, and part of the daily routine.
- Smart Test Recorder: Another most important aspect is its ease of use. The test recorder provided by It is a powerful tool that can easily record and playback all of your test scenarios. So, anyone with minimum experience in Test Automation can start working on this.*
- Cross-platform functionality: TestProject allows users to create and run both web and mobile tests. We can also use it on any platform ranging from Mac, Windows, Android, and iOS. It is also compatible with most standard browsers, which means any cross-browser testing can perform effortlessly.
- Integration with other Technologies: TestProject's API allows users to integrate with any existing continuous integration workflows. The TestProject SDK offers the feature to import your current tests from Selenium or Appium.
- Reusability: TestProject has a unique feature called Addons. Addons are shared reusable functions created by your team or the community. You can either use an existing addon or can create one yourself to simplify your test process.
- Reliability: It is built on top of the most popular testing frameworks like Selenium and Appium, offering unmatched reliability and confidence of millions of QA Engineers that work on these technologies.
Key Takeaways:
- TestProject is a test automation tool that allows users to create automated tests for mobile and web applications, and even API's.
- Additionally, it is built on top of popular frameworks like Selenium and Appium.
- Also, one can create a test either by recording actions or by using the TestProject SDK.
- Addons are a unique feature that allows users to share and use reusable components across the team or community.
- In addition to the above, Tests get published to TestProject's Cloud Platform, where all the team members can access and execute them.
- Finally, the test can run on any local/remote machine that has a TestProject agent installed.
Let's move to the next article to start learning TestProject by kicking off the automation journey by understanding the steps of "How to install and set it up".