Document toolboxDocument toolbox

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:

  1. Seamless Synchronization: Effortlessly synchronize updated and new test cases, even when a pipeline involves several test cases.

  2. Parallel Test Execution: Supports parallel execution of test cases, reducing pipeline execution time.

  3. 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

  • Azure DevOps (Cloud Version)

  • Azure DevOps Server 2019

 Qualitia Plugins

Share Azure DevOps URL to Qualitia team to get the Get Assembly task plugin.

 Roles and Privileges

  • Azure DevOps Administrator must install the plugins from Shared Extensions.

  • Qualitia does not recommend this option for PAT generation as it changes the access levels for all the users in the group.

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:

  • Generate the PAT with a user that is part of the Project Administrators group.
    Qualitia recommends this option for generating a PAT.

  • Allow Bypass Rules on Work Items Updates
    Perform the following steps:

    • In Azure DevOps project, ensure that the user that is used to generate PAT is member Contributors group / Project Team members group.

    • Click Project Settings > Permissions.

    • Select the user group that has the user to whom you want to provide access (Contributors/Project Team members).

    • From the Bypass rules on work items updates list, select Allow.
      Refer to the following screenshot.

 

  • Have project access to create the following:

    • A new pipeline (Build/Release)

    • An Agent Pool

Prerequisites for Qualitia

Roles and Privileges

  • You must have administrative privileges to access Qualitia Project that you want to integrate with Azure DevOps tests.

 Network Access

  • Ensure that the Qualitia Server URL is reachable from the Qualitia Client, Azure DevOps Server, and Azure DevOps agent.

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

  • Responds to QAS server using standard out of the box APIs offered by Azure DevOps.

Execution

  • Configures of build/release pipelines.

  • Agent pool configurations.

  • Initiates pipeline execution.

Result Publish

  • Hosts results of pipeline execution.

Azure DevOps Agent

Association

None

Execution

  • Executes the jobs in the pipeline along with the contained tasks.

  • Select Test Plan and Test Suite that contain the automated test cases and suites within the Azure DevOps projects.

Result Publish

  • Execution of the Publish Result task of QAS to publish results to QAS Server and Azure DevOps Test Runs.

  • Uses QAS Server APIs to publish result.

Qualitia Server

Association

  • Interacts with the Azure DevOps server to update automation status of Azure DevOps test cases.

Result Publish

  • Receives test case results directly from QAS - Client with the help of QAS APIs.

Qualitia Client

Association

  • Allows the authorized users to view Azure DevOps projects and associated projects and test cases.

Execution

  • Publishes the test cases to QAS project repository. The published test cases are used in the Azure DevOps pipeline execution.

Result Publish

  • Shows the status of test cases executed through Azure DevOps pipeline in Real Time Reporting Portal.

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:

  1. 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.

  2. Add and Install Extensions: Once Qualitia shares the extensions, you can proceed with adding and installing them in your Azure DevOps instance.

  3. 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.

  4. 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

  1. Log into your Azure DevOps instance.

  2. Add new pipeline or edit an existing pipeline.

    • To create new pipeline, select required repository or use the Select classic view option.

  3. Click the + icon to add new task.

  4. 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.

image-20241008-094850.png
image-20241008-094916.png

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:

  1. Log into QAS - Client as a project administrator.

  2. Access Project Management from the left navigation.

  3. In the left pane, select a project that you want to link.

  4. In the main pane, next to Integrations (ADO), click the link icon.

  5. In the Azure DevOps tab, enter:

    1. Server URL: The Azure DevOps URL.

    2. PAT Token: Personal Access Token (PAT) for authentication.

    3. Click Connect to link the Azure DevOps server.

    4. Select the Azure DevOps Project from the drop-down list. You can select multiple projects.

    5. 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:

  1. Log into QAS - Client.

  2. Access Develop from left navigation.

  3. From the left pane, select a scenario, and open the test case.

  4. Click Link.

 To link a test case from the Ready for Execution screen:

  1. Log into QAS - Client.

  2. Access Execute from left navigation.

  3. Click the Ready for Execution tab.

  4. 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:

  1. In Azure DevOps, select the test suite.

  2. In the Automation Status column, the status will be updated to Automated.

  3. 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.

  4. 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:

  1. Access Execute from the left navigation.

  2. Click the Ready for Execution tab.

  3. A list of suites is displayed in Suites tab

  4. Select the suite and click link icon (image-20241014-041107.png) 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

  1. Sign in to your Azure DevOps instance.

  2. From the top menu, click Build and Release.

  3. Under the Builds section, click the edit icon (...) and select Queue new build....

  4. 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

  1. Sign in to your Azure DevOps instance.

  2. From the top menu, click Build and Release.

  3. Go to the Releases section, click +Release > New release.

  4. In the Create new release section, choose the desired environment.

  5. Artifacts are pre-selected by default.

  6. Add Release description, if required.

  7. 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:

  1. Sign in to your Azure DevOps instance.

  2. Navigate to Test > Runs from the top menu.

  3. Double-click the Run ID to view more information about that instance.

  4. Select Test results.
    A list of tests appears, which were executed in the selected run instance.

  5. 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!

  1. 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)

Capability Name

Values (As per execution needs)

MobilePlatform

Android

MobileBrowser

Chrome

MobileExecutionEnvironment

Local

AppiumServerURL

http://127.0.0.1:4723/

androidAppiumServerURL

http://127.0.0.1:4723/

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:

  1. Go to ADO.

  2. Edit the pipeline.

  3. Click three dots next to Enter environment variables.

  4. Add capabilities & their values from the above table.

  5. Click OK.

  6. Save the pipeline.

 

Footer