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:
TestProject Introduction: TestProject is a free forever automation tool for web, mobile, and API testing. TestProject works by interacting with the browser by using an agent installed on your system. This allows TestProject to execute tests on any remote system with a registered agent. It is built on top of Selenium and Appium which makes it compatible with Selenium tests. It also eliminates the installation of libraries and dependencies with its agent. Community-created add-ons make life easier by offering solutions to common problems.
Install TestProject Agent: TestProject is built on top of popular automation tools like Selenium and Appium. Its free forever plan offers all the features at no extra cost. It’s totally free and is used by one of the most active automation community across the globe. The TestProject agent is pre-packaged with all the dependencies and libraries that you will ever require hence, removing the complex task of configuring these. The installation and setup of the TestProject is quite easy; create a free account with TestProject, install the TestProject Agent and you are good to go.
Record and Play: TestProject offers codeless automation by using its powerful smart test recorder. Smart Test Recorder mimics user actions on the web and automatically generates corresponding test steps. The element inspector allows users to investigate elements and gives the flexibility to record actions or validations on an element. The recorded test is easily executed from the project inside the cloud platform and detailed reports with complete analytics are generated.
Schedule Test Jobs: TestProject allows users to create and schedule jobs. The job contains the list of test cases that need to be executed. Jobs can be scheduled for execution at a given date and time or can even be set for a recurring execution for example every weekend. Scheduled job automatically executes the tests on an active test agent and uploads the detailed analytics and reports to the cloud. It also offers email reporting, i.e. it will email the detailed reports to the stakeholder after completion of the execution.
Locate Elements: Locators are a vital component of any web-based automation tool. A locator tells the automation tool about the location detail of the web element on which it needs to operate. Buttons, Textbox, dropdowns, checkboxes, etc are common web elements present on a web page. TestProject identifies the elements present in the web page by using its DOM properties similar to how Selenium identifies its elements.
Parameterize Tests: Parameters are one of the most common ways to make tests dynamic or increase its maintainability. It allows users to provide specific inputs/outputs for a certain element in the test case. TestProject utilizes two parameters; input parameter and output parameter. The input parameter provides input values to a test step. The output parameter utilizes the previous input parameter and uses it to provide the value to the element on the test. Parameters can also be shared across the project thus making the test more maintainable.
Actions and Validations in TestProject: In the Testing world, we test our applications with the help of test cases. Inside test cases, several steps present to perform some Actions and Validations. So, Actions are the “To Do” step to be performed on our test steps and validations are the checkpoints through which we certify the results. So, in this section, we will discuss about Actions and well as Validations provided by the TestProject tool. We will learn how we can perform Actions and add Validations to ensure that our application is performing in conformance to the expectations.
TestProject Mobile Test: TestProject offers codeless automation for mobile applications. It supports native, hybrid, and web applications. Once connected with the mobile device, the TestProject mimics the device’s screen in the inbuilt emulator. This allows users to perform and record their test steps directly. Each step performed on the emulator is recorded as a test step and the complete test case is created. TestProject also removes the requirement to install and configure different libraries and dependencies required by Appium. These are taken care of by the TestProject Agent.
Integrations with TestProject SDKs: Integrations between any two systems allows us to leverage both of their benefits. For this purpose, we use SDKs or software development kits. SDKs are installable files that run on the environment of our systems. TestProject works in a similar way. TestProject Integrations is used to code in the system and view the results on the TestProject dashboard. For this, TestProject provides the comfort of choosing a familiar language and using the Selenium and Appium commands for testing purposes. TestProject integrations are a great way to bridge the gap between testing on your system and managing the tests on the TestProject dashboard.
TestProject Addons: Addon is a collection of reusable coded actions that we can integrate with our test cases to provide extended features. In TestProject, Addons can be of two types, Community Addons as well as Private Addons. In this section, we will discuss Community Addons which are already present in TestProject.
Custom AddOns in TestProject: TestProject not only has an inbuilt feature to provide addons for testing the functionality of any application but also has the capability to develop addons and adding them into tools to test those feature that is not provided by it. These addons are called Private Addons. Anyone can build these addons and add them to TestProject in the form of jar files. So, in this section, we will discuss how can we develop these private addons.
TestProject Reports: Any test is useless without proper reporting. The powerful report and analytics offered by the TestProject allows users to have better understanding of the test outcomes. With detailed individual reports containing step by step execution detailed to holistic reports containing periodic execution details. TestProject offers reports for every requirement. Particularly individual test reports are quite useful for debugging purpose and overall reports are useful to understand the health of the application under test.
TestProject Agent in Docker Container: Agents in TestProject are pivotal in running the tests on the machine on which they are installed and ensures communication between the machine and the TestProject cloud. TestProject provides agents as applications which can be installed across the different operating system. Moreover, TestProject also facilitates running agent as a docker container. Docker agent can be run as a permanent container which is available from the machine to execute tests and also as an Ephemeral Instance. The agent running inside a container can then be seamlessly used with TestProject using Headless Browsers. We will learn all this in detail.