Quantcast
Channel: WinWire
Viewing all articles
Browse latest Browse all 336

How to design a CI/CD with Azure DevOps and TestProject

$
0
0

Migrating to a modern CI/CD process provides several benefits for application builds, deployments, testing, and even monitoring. By leveraging Azure DevOps and other services such as Test Projects, organizations can focus on the development of apps rather than the management of the supporting infrastructure.

This blog will showcase how we can leverage Test Project’s API’s power to integrate with   Azure DevOps Service   and run automated tests in the   Test Project platform  as a part of CI/CD flow.

Deployment Scenario

1. Pre-requisite – The following signups are required before we begin with the actual integration:

I am assuming you have one working test or job created in Test Project, in my case I have already created a job as shown below. Test Project’s SDK is a complete coding solution for test automation. Automate Web, Mobile, and even API’s with a simple and familiar syntax of Selenium and Appium.

CI/CD with Azure DevOps

GUI of Test Project

CI/CD with Azure DevOps

Adding a Team

CI/CD with Azure DevOps

Now that we have everything in place – Let us get started with the actual integration!

2. Test Projects API

Test Project has a rich set of API and they are very sophisticated to do almost everything you can do in Test Project platform, we can also access from   Test Project API.

We are going to make use of one of the many awesome APIs of Test Project which helps us trigger executing a Test Job that we have already created, as seen above (EA Local Test). In our case, we will be using the following API endpoint:

Continues Integration with Azure DevOps

To execute the API, we need to supply the following from Test Project web portal:

URL: https://app.testproject.io/#/home

Continues Integration with Azure DevOps

Record and Play back

CI/CD with Azure DevOps Pipelines and TestProject

Run Manual Test

User can run the Test manually and generate the results as shown below.

CI/CD with Azure DevOps Pipelines and TestProject

 

CI/CD with Azure DevOps

3. Azure DevOps Service

Now we need to configure Test Project to “talk” with Azure DevOps Service. Since Azure DevOps Service is from Microsoft and it supports many tools out in the market, it also supports generic APIs to trigger as a part of its build and release pipeline. Hence, we are going to leverage the same power of Azure DevOps using what is called as Service Hooks.

In Azure, go to your project settings, from there navigate to Service hooks, and proceed to Create a subscription.

NOTE: User should have valid Azure Subscription to perform this task

Then, select the Web Hooks service to provide event communication via HTTP, and press next.

CI/CD with Azure DevOps Pipelines and TestProject

4. Setting Trigger

Here is where the trigger for the Web Hooks happens from Azure DevOps to Test Project Platform, and the following is most important to specify:
When to trigger the API?
Which Release pipeline to trigger?

We need to associate the triggering of Azure Service hooks for any specific release in Azure of Azure release pipeline.

Azure DevOps and TestProject

We are going to add the Web Hooks and enter the following details which we grabbed from Test Project in the above section.

API should end up looking something like this:
vST9Uz4yiA6zKzdkOxmRckP9m6yo-LP8ncv5FpO-gpU1

User do not need to fill in the Basic authentication username and password, however user will need to fill in the HTTP headers field with your API key, and that key must have access to the project you intend to use.

The correct format is:
Authorization: {API_KEY}

CICD with Azure DevOps

Once all the details are filled, press    Test   button to check the handshake of Azure DevOps with Test Project platform and see if the API is triggered. Once successful, user will get the message as below

CICD with Azure

5. Azure Release Pipeline Integration

Now, make sure the release pipeline specified in the Web Hook  is working properly and gets executed once the build pipeline in Azure DevOps is fully completed, which can be done by enabling CD trigger (Continuous Deployment)  as shown below:

CICD with Azure DevOps

CICD Azure DevOps

6. CI/CD with Azure DevOps and Test Project

Now, once any build gets executed while you do code check-in, this will call the Release pipeline to execute, which will then call the Test Project API specified with required environment in the Web Hooks of Azure DevOps to execute and run the test in the Agent specified in the Job.

CI/CD with Azure DevOps and TestProject OpenSDK

 

 

The post How to design a CI/CD with Azure DevOps and TestProject appeared first on WinWire.


Viewing all articles
Browse latest Browse all 336

Trending Articles