Header
Azure DevOps Integration
Visual Studio, a Microsoft product, provides tools and technologies that support all stages of application development. Qualitia Automation Studio (QAS) enhances this process by replacing manual testing with automated procedures, seamlessly integrating with Azure DevOps. This integration simplifies and strengthens the development process.
With QAS integrated into Azure DevOps, organizations can maximize their existing investments by using a unified platform for automation testing, while managing and maintaining automated test cases directly within Azure DevOps.
Key Benefits of QAS and Azure DevOps Integration:
Seamless Synchronization: Effortlessly synchronize updated and new test cases, even when a pipeline involves several test cases.
Parallel Test Execution: Supports parallel execution of test cases, reducing pipeline execution time.
Result Visibility: View pipeline execution results from both Azure DevOps server and within QAS.
Features:
With Azure DevOps advanced integration, you can:
Map QAS Project to Azure DevOps Project.
Map automated QAS test case to Azure DevOps test case.
Execute QAS test cases locally in Azure DevOps (using self-hosted agents).
Run QAS test cases as part of Azure DevOps build pipelines
To integrate QAS with Azure DevOps, you need to first set up the environment.
Prerequisites
Prerequisites for Azure DevOps
Azure DevOps Version |
|
Qualitia Plugins | Share Azure DevOps URL to Qualitia team to get the Get Assembly task plugin. |
Roles and Privileges |
Note: Please connect with your Azure DevOps Admin team to discuss the PAT generation and access level management. Qualitia integration with Azure DevOps expects that the user has “Update Work Items” access that is used to generate the PAT (Personal Access Token). The PAT with required access can be procured in one of the following ways:
|
Prerequisites for Qualitia
Roles and Privileges |
|
Network Access |
|
Azure DevOps Integration
Let’s set up the environment, to get started with the Azure DevOps Integration. This section depicts information related to all the prerequisites and procedures to get prepared for QAS's integration to Azure DevOps.
How Azure DevOps interacts with QAS components to execute QAS test cases successfully.
Qualitia Components:
Qualitia Server
Qualitia Client
Azure DevOps Components:
Azure DevOps as the Cloud Version
Azure DevOps Self Hosted Agent
To integrate QAS with Azure DevOps, follow these three key steps:
Association Between Qualitia Automation Studio and Azure DevOps
This step involves initiating the association from within Qualitia Automation Studio (QAS), mapping projects and test cases between QAS and Azure DevOps.
Key Activities:
Map QAS Project to Azure DevOps Project: Establish a link between your project in QAS and the corresponding project in Azure DevOps.
Map Automated Test Cases: Link QAS automated test cases with Azure DevOps manual test cases, ensuring that test cases are synchronized across both platforms.
Associate Test Suites: Map Qualitia Suites to Azure DevOps Test Suites to group relevant test cases for streamlined execution.
Execution Setup in Azure DevOps (One-Time Setup)
This one-time setup ensures that QAS test cases can be executed directly from Azure DevOps pipelines.
Key Activities:
Setup Build/Release Pipelines: Create and configure build or release pipelines in Azure DevOps to execute the associated QAS test cases.
Task Extension for Custom Tasks: Install the Qualitia Task Extension, which allows custom Qualitia tasks to be included in the pipeline installation. Task Extension is used for Qualitia Custom tasks for pipeline installation.
Configure Self-Hosted Agents: Set up a self-hosted Azure DevOps agent for executing the QAS test cases locally.
Agent Pool Setup: Create and configure an agent pool in Azure DevOps to manage agents responsible for running QAS executions.
Result Publishing and Execution
This step ensures that the results of the executed test cases are published and available both in Azure DevOps and within QAS.
Key Activities:
Publish Results in Azure DevOps: After each pipeline execution, results of the QAS test cases are published to Azure DevOps test cases and test runs.
Result Sync with QAS: Test case results are synchronized with Qualitia Automation Studio to provide a holistic view of the automation results within QAS.
The following table explains how different components of Azure DevOps and QAS interact with each other.
Component | Roles Played in Different Stages |
Azure DevOps | Association
Execution
Result Publish
|
Azure DevOps Agent | Association None Execution
Result Publish
|
Qualitia Server | Association
Result Publish
|
Qualitia Client | Association
Execution
Result Publish
|
Configuring Azure DevOps for Test Executions
To execute automated test cases from QAS mapped to Azure DevOps as part of your build and release pipelines, you need to add the QAS - Test Execution extensions to your Azure DevOps instance.
Follow these steps to add the QAS - Test Execution extensions to your Azure DevOps instance:
Share Azure DevOps Organization Details: Before integration, provide your Azure DevOps organization details to Qualitia. Qualitia will share the necessary extensions for integration with your Azure DevOps projects.
Add and Install Extensions: Once Qualitia shares the extensions, you can proceed with adding and installing them in your Azure DevOps instance.
Installation Steps:
Sign into Azure DevOps instance.
Click the top-right corner to navigate to Marketplace > Manage Extensions.
Locate the Qualitia - Test Execution extension shared by Qualitia.
Click the Qualitia - Test Execution and install it.
Verify Installation: Return to Extensions > Manage Extensions to ensure the extension was installed successfully.
Your Azure DevOps instance is now configured for QAS integration and ready for use in build and release pipelines.
Configure Qualitia - Test Execution Task
Follow the steps to configure the Qualitia - Test Execution task in your pipeline within Azure DevOps:
Add Task in Pipeline
Log into your Azure DevOps instance.
Add new pipeline or edit an existing pipeline.
To create new pipeline, select required repository or use the Select classic view option.
Click the + icon to add new task.
Search and select QAS - Test Execution and add it.
After adding the custom task to the pipeline, configure it by adding the following details:
Display Name | Enter the desired display name for this task. |
Qualitia Option | |
Enter Qualitia Server URL | Enter the hostname or IP of the machine where QAS server is installed, along with the server port number. The default port is 8887, but you can change it during QAS - Server installation. For example, http://127.0.0.1:8887
|
Enter Qualitia Project Name | Provide the name of the QAS project that is integrated with Azure DevOps. |
Execution Parameter | Specify any additional QAS execution parameters, such as selecting a non-default browser to use while execution or overriding environment variables. By default, this is set to None. |
Test Selection | |
Test Plan | Select a test plan that contains test suite with QAS automated test cases. |
Test Suite | Select test suite(s) containing QAS automated test cases. You can select multiple test suites. |
Execution Option | |
Distribution mode | Batch test across agents: Distribute test cases across agents in batches, with a defined number of tests per batch. Replicate all tests across all agents: Execute all test cases on every configured agent. |
Control Option | |
Enabled | Shows the current state of the custom task. By default, this option is selected. Clear this option to disable the task temporarily (useful for testing or specific deployments). |
Continue on Error | If selected, the pipeline will continue executing QAS test cases even after encountering errors. This option is disabled by default. |
Timeout | Set the task timeout in minutes. The default is 0, which refers to infinite timeout. This value overrides the timeout set for the parent task job. |
Run this task | Set conditions for running this task. You can choose from the pre-defined options or create custom conditions. For more details on creating custom conditions as expressions, refer to Azure DevOps documentation. |
You need to enable Allow scripts to access the OAuth token from Agent job.
Connecting QAS Artifacts to Azure DevOps
Once the environment is set up in Azure DevOps for test automation using QAS, the next step is to map your QAS artifacts to Azure DevOps. This begins with mapping a QAS project to its corresponding Azure DevOps project.
This connection ensures that automated test cases created and managed in QAS can be seamlessly integrated and executed within Azure DevOps pipelines, leveraging the tools and features of both platforms.
Qualitia Test Case Lifecycle for Azure DevOps Integration
During the integration of QAS with Azure DevOps, the QAS test case progresses through various stages, affecting the status of the associated Azure DevOps manual test case. Below is an overview of these stages and their impact:
The following diagram shows the Integration Lifecycle status for a test case.
Test Case Lifecycle Stages
1. Test Case Creation
When a new test case is created in QAS under a project integrated with Azure DevOps, it is not associated with any Azure DevOps manual test case.
QAS Test Case Status: Not Linked
2. Test Case Linking with Azure DevOps Test Case
The association between a QAS test case and an Azure DevOps test case is established by linking them.
Status Changes:
QAS: Not Linked → Linked/Not Published
Azure DevOps Automation: Not Automated → Planned
3. Publishing Test Case
After the Automation Engineer completes writing the test case in QAS, it must be published for execution in Azure DevOps.
Status Changes:
QAS: Linked/Not Published → Linked/Published
Azure DevOps Automation: Planned → Automated
4. Editing a Test Case After Publishing
Changes made to a QAS test case after publishing do not reflect in Azure DevOps. The previously published version is used for execution.
Status Changes:
QAS: Linked/Published → Linked/Changes Not Published
Azure DevOps Automation: Automated → Automated
5. Unlinking Test Case
The link between a QAS test case and an Azure DevOps test case can be removed anytime.
Status Changes:
QAS: Linked/Published or Linked/Changes Not Published → Not Linked
Azure DevOps Automation: Automated → Not Automated
Linking a QAS Project to an Azure DevOps Project
To link a QAS project to an Azure DevOps project:
Log into QAS - Client as a project administrator.
Access Project Management from the left navigation.
In the left pane, select a project that you want to link.
In the main pane, next to Integrations (ADO), click the link icon.
In the Azure DevOps tab, enter:
Server URL: The Azure DevOps URL.
PAT Token: Personal Access Token (PAT) for authentication.
Click Connect to link the Azure DevOps server.
Select the Azure DevOps Project from the drop-down list. You can select multiple projects.
Click Integrate to complete the connection.
Linking a QAS Test Case to an Azure DevOps Test
You can link a Qualitia test case to an Azure DevOps test from two screens: Test Case Editor or Ready for Execution.
To link a test case from the Test Case Editor screen:
Log into QAS - Client.
Access Develop from left navigation.
From the left pane, select a scenario, and open the test case.
Click Link.
To link a test case from the Ready for Execution screen:
Log into QAS - Client.
Access Execute from left navigation.
Click the Ready for Execution tab.
A list of test cases will be displayed. Select the desired test case and click Link.
Configure Test Case Linking:
In both methods, the same screen appears where you need to fill in:
ADO Project: Select the Azure DevOps project.
Select ADO Test Plan: Select the associated Azure DevOps test plan.
Select ADO Test Suite: Select the Azure DevOps test suite.
Optionally, use the Search box to find the Azure DevOps test by name or ID.
Select the test case to link and click Link.
The test case is now linked, and the Automation Status in Azure DevOps will be updated to Automated.
Viewing Status in Azure DevOps
Once publish any test case from Qualitia, the status of the test in Azure DevOps is marked as Automated.
To view the status of the test case in Azure DevOps:
In Azure DevOps, select the test suite.
In the Automation Status column, the status will be updated to Automated.
Open this test case and in the steps section, you will find the status as Automated.
This means this test case is successfully linked to QAS automated test case.Open the test case to verify that the steps section also reflects the Automated status.
This confirms that the test case is successfully linked to QAS and is ready to be executed as part of the build or release pipeline in Azure DevOps.
Linking a QAS Suite to an Azure DevOps Suite
You can link a suite from Ready for Execution screen.
To link a suite from the Ready for Execution screen:
Access Execute from the left navigation.
Click the Ready for Execution tab.
A list of suites is displayed in Suites tab
Select the suite and click link icon () under column Linked ADO Suites to open Link with ADO Suites window, as shown in the screenshot.
Working with QAS Test cases In Azure DevOps
Once the environment is set up in Azure DevOps and QAS test cases are linked, you can start executing these test cases as part of your build or release pipelines. Additionally, execution reports of QAS automated test cases can be accessed directly from Azure DevOps.
Executing QAS Automated Tests
Execute QAS Automated Tests Using Build Pipelines
Sign in to your Azure DevOps instance.
From the top menu, click Build and Release.
Under the Builds section, click the edit icon (...) and select Queue new build....
A new build will be added in a queue, which will eventually initiate execution of QAS automated tests.
Execute QAS Automated Tests Using Release Pipelines
Sign in to your Azure DevOps instance.
From the top menu, click Build and Release.
Go to the Releases section, click +Release > New release.
In the Create new release section, choose the desired environment.
Artifacts are pre-selected by default.
Add Release description, if required.
Click Create to start a new release and execute QAS automated tests.
Accessing QAS Test Execution Reports in Azure DevOps
After executing QAS automated tests, QAS test execution reports are attached to the respective test in Azure DevOps. You can access these reports from the Test run section.
Each test run in Azure DevOps is assigned a unique Run ID for easy identification.
Steps to Access Reports:
Sign in to your Azure DevOps instance.
Navigate to Test > Runs from the top menu.
Double-click the Run ID to view more information about that instance.
Select Test results.
A list of tests appears, which were executed in the selected run instance.Double-click the test to view more detailed information about it.
Accessing Execution Results from QAS
You can also access execution reports from within Qualitia Automation Studio (QSA) or through the Real-Time Reporting Portal after executing tests via build or release pipelines. For more information, refer to Real Time Reporting Portal.
While displaying reports for QAS automated tests, Pipeline Name is displayed in the Suite Name column, as shown in the following figure:
🔧 Got a problem? Let’s fix!
Mobile test case execution is failing on ADO: To execute mobile test case successfully on ADO, you need to provide all the mobile capabilities manually.
Here is the list of required capabilities in ADO Pipeline.
Capability Name | Values (As per execution needs) |
---|---|
MobilePlatform | Android |
MobileBrowser | Chrome |
MobileExecutionEnvironment | Local |
AppiumServerURL | |
androidAppiumServerURL | |
android.platformName | android |
android.browserName | chrome |
android.appium:udid | emulator-5558 |
android.appium:deviceName | Pixel_3a_XL_API_34 |
android.appium:automationName | UiAutomator2 |
appiumOption | Custom/Automatic |
androidAppiumOption | Custom/Automatic |
Follow the below steps to add capabilities:
Go to ADO.
Edit the pipeline.
Click three dots next to Enter environment variables.
Add capabilities & their values from the above table.
Click OK.
Save the pipeline.
Footer