Last Updated Dec 12, 2020 — Continuous Testing Expert
Continuous Testing

Microsoft Azure DevOps is a comprehensive and easy to use continuous integration and continuous deployment tool. Offered by Microsoft, Azure DevOps offers an array of powerful features that will monitor and manage your entire CI/CD pipeline from a central dashboard. Starting with the customizable workflows and Active Directory integration, and continuing to the extensible marketplace and a smooth cloud and on-premise migration. Azure allows you to efficiently build and deploy your enterprise stack. The wide array of tools include Azure Boards, Azure Repos, Azure, Pipelines, Azure Test Plans, and Azure Artifacts. The tool has everything your DevOps teams need for their software development projects.

An Overview of Azure DevOps

Azure DevOps is a Microsoft product that enables you to collaborate and orchestrate DevOps projects right through the entire life cycle of products. Formerly known as Visual Studio Team Services (VSTS). It is a cloud-based offering so you don’t have to install the software or configure settings. Azure comes tightly integrated with .NET IDE, Visual Studio, and Eclipse. Using this single tool, you can manage the entire application life cycle.

The tool is pretty simple to use. There is a minimal to zero learning curve and the intuitive dashboard is self-explanatory. Integrating Git repositories with the tool is easy. Built-in CI/CD features and customizable workflows make your job easy. it is highly extensible wherein you can add extensions such as SonarCloud and Slack. As it comes tightly integrated with Microsoft products, it facilitates seamless collaboration between various processes across the infrastructure.

Microsoft Azure DevOps is platform-agnostic and language-agnostic. As such, you can manage your CI/CD environments using a variety of languages such as Ruby, PHP, .NET, Node.js, C/C++, and Python. You can also work with Android and iOS apps. It supports Windows, Linux, and macOS platforms. You can push images to Docker Hub or Azure Container Registry and use Kubernetes or individual hosts for deployment. It allows you to work with AWS, GCP, and Azure clouds. The community support is excellent. Microsoft offers quick support. The community is pretty active as well.

Here are some of the important features of Azure DevOps:

Azure Boards – Azure Boards offer an easy way to comprehensively trace work with Kanban boards and team dashboards. Using flexible work item tracing and sprint planning, you can track all your work across different teams.

Azure Repos – Azure Repos work as your centralized version control system allowing you to review code and perform version control functionality. It supports the Git repository and Team Foundation Version Control System (TFVC).

Azure Pipelines – These enable you to easily automate and manage CI/CD tasks right from build, test, and deploy using any programming language or platform.

Azure Test Plans – Allow you to run manual and automated tests using various testing tools to deliver quality software faster.

Azure Artifacts – Gives you the ability to add packages to your CI/CD pipelines or share them with your team.

Azure Marketplace – The Azure marketplace offers access to 1000s of community-built apps and services.

Getting Started with Microsoft Azure DevOps

Being a cloud-based tool, Azure DevOps eliminates the need to download software or configure settings.

Here are the steps to getting started with the tool:

Step 1: Sign up with Github

To work with the CI server, you need a version control system. Visit this link to create a free account in Github:

https://github.com/

Provide your basic details and create a free account. After successfully verifying the email, log in to your account.

github

Now, click on ‘New’ to create a new repository.

github create

Provide a repo name and description and create the repository.

Step 2: Download Selenium Server

Selenium is a powerful browser automation tool. To download Selenium Server, visit this link:

https://www.selenium.dev/downloads/

The latest version is 3.141.59. Download the Jar file and save it on your machine.

Step 3: Install Eclipse

To write and push code to the VCS, you need an IDE. Visit this link to download and install Eclipse IDE.

https://www.eclipse.org/downloads/

Download the exe file and install the IDE. After the IDE is installed, open Eclipse.

Step 4: Install TestNG

Using TestNG, you can run a wide range of automated tests. To install TestNG, open Eclipse and go to Help -> Eclipse MarketPlace. Search for ‘TestNG’ and install the plugin.

Step 5: Create a Project

Open Eclipse and create a new project (eg: ExperitestProject) and create a class (eg: ExperitestSearch) and add the following code to the class.

package ExperitestProject; import org.openqa.selenium.*; import org.openqa.selenium.remote.BrowserType; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.net.URL; public class ExperitestSearch { private static final String ACCESS_KEY = "Enter your access key here"; private RemoteWebDriver driver; private URL url; private DesiredCapabilities dc = new DesiredCapabilities(); @BeforeMethod public void setUp() throws Exception { url = new URL("https://cloud.seetest.io/wd/hub"); dc.setCapability(CapabilityType.BROWSER_NAME, BrowserType.CHROME); dc.setCapability(CapabilityType.PLATFORM, Platform.ANY); dc.setCapability("accessKey", ACCESS_KEY); dc.setCapability("testName", "Quick Start Chrome Browser Demo"); driver = new RemoteWebDriver(url, dc); } @Test public void browserTestGoogleSearch() { driver.get("https://www.google.com"); new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.name("q"))); WebElement searchBar = driver.findElement(By.name("q")); searchBar.click(); searchBar.sendKeys("Experitest"); searchBar.sendKeys(Keys.ENTER); } @AfterMethod public void tearDown() { System.out.println("Report URL: "+ driver.getCapabilities().getCapability("reportUrl")); driver.quit(); } } 

Right-click on the project and go to Build Path. Click on ‘Add external jars’ and add the Selenium Server Jar file. Similarly, click on ‘Add Library’ and add TestNG.

Now, the test script is ready. This test script logins to the SeeTest cloud platform and opens the Google Chrome browser and searches for the keyword ‘Experitest’ and closes the browser.

So, run the test script. It successfully passes the test.

Step 6: Commit code to Github Repo

Once the code is successfully run, you can push it to your Github repository. To do so, right-click on the project and click on Team -> Share Project.

github

Provide the repo URL, username and password and connect it with the Github repo. Now you can see different push options.

github repo

Click on ‘Commit’ and push the code to the Github repo.

Step 7: Create an Azure DevOps Account

Now that the prerequisites are met, you can start working with Azure DevOps.

To get started with Microsoft Azure, visit this link:

https://azure.microsoft.com/en-us/services/devops/pipelines/

microsoft azure pipeline

You can create a free account or use your existing Github account to get started with the Azure CI server.

Click on the ‘Start free with Github’ link.

microsoft azure signin

Enter your Github username and password and click on Sign in’. On the next screen, you need to authorize Azure to access your Github repos.

microsoft azure

To complete the signup, provide a few more details such as your name, location, and email address on the next screen.

microsoft azure details

Click continue on the next screen.

Now, you’ll be taken to the Azure DevOps organization.

Now, you have successfully created your account on the Microsoft Azure CI server. So, you can start working on your CI/CD projects.

Working with Azure CI Server

To begin, create a new project. Give a name to the project (eg: ExperitestAzure) and choose public or private.

microsoft azure create a project

Now, you can see the Azure dashboard. You can start working with boards, repos, pipelines, and test plans.

Let’s start working on repos. Click on Repos

microsoft azure repos

Now, click on Import under ‘import a repository’.

microsoft azure import git

Enter the Github repository URL and click import.

Now, you can see that the repo is listed in your project.

microsoft azure build

Now, click on Set Up Build to start a build process.

microsoft azure process

On the next screen, you can choose a starter pipeline that comes with a minimal pipeline or go with an existing Azure Pipelines YAML file.

For this demo, click on the starter pipeline.

microsoft azure configure pipeline

You can see the basic pipeline configuration file (YAML).

microsoft azure YAML

Now, click on ‘Save and run’.

It will commit the Azure YAML file to the repository.

microsoft azure save and run

Now, the build process will begin.

microsoft azure pipelines

You can see that the build process is successful. When you click on view changes, you can see the commits made to the repository.

microsoft azure set up

So, you can run your test scripts, add more tasks to the pipeline, and manage the entire CI/CD environment easily from this intuitive dashboard.

Managing your Deployments

With Microsoft Azure, it is easy to manage your deployments too. To do so, click on Pipelines.

microsoft azure deployments

Click on Environments.

microsoft azure environment

Click on the ‘Add resource’ and create your first environment.

experitest deployment

Now, select the type of resource (Kubernetes/VM). To use Kubernetes or VMs, you need to have a subscription.

Select ‘Virtual Machine’.

microsoft azure virtual machine

On the next screen, select the provider and the operating system. The tool will generate the registration script. Copy the script to the clipboard and close it.

microsoft azure add resource

Now, open the Windows Run dialog box and type ‘ PowerShell’.

microsoft azure powershell

This command will open the PowerShell window.

microsoft azure powershell

Now, right-click on the PowerShell window and the registration script gets copied onto it.

microsoft azure powershell

Now, run the script by pressing the Enter key. it will create a directory agent in the C directory.

microsoft azure powershell

The deployment environment is successfully created.

deployment environment

Now, you can run your builds and deploy them to this environment.

Microsoft Azure Summary

To conclude, Azure DevOps is a comprehensive CI/CD tool to efficiently manage your build, test, and deploy tasks. With the CI/CD built-in functionality, it allows you to quickly get started with your project while being able to easily monitor and manage the entire DevOps pipeline from a single dashboard. Windows GUI tools are easy to work with since it is the tool most users are familiar with. With all the required features packed into a single tool, Microsoft Azure enables you to optimize CI/CD environments while delivering better software faster.

SeeTest is a powerful test automation cloud platform that offers a wide range of browsers and devices that run a variety of test scripts. When you combine SeeTest with Azure DevOps, you will get the best of both worlds.

Guy ArieliCTO

Are you ready to scale your enterprise?

Explore

What's New In The World of Digital.ai

July 12, 2023

100% Test Automation Might Be Desirable, But Is It Practical?

Discover the challenges and value of test automation in achieving 100% coverage for continuous testing. Find the right balance for effective software development.

Learn More
June 26, 2023

Digital.ai Continuous Testing, Now Supports Testing on iOS 17 (Beta) Devices

Digital.ai Continuous Testing is the first to support a new operating system version. iOS 17 (Beta) has been released – Discover the new features and see how it works with a demo below.

Learn More
June 21, 2023

Ensuring Quality: Digital.ai Continuous Testing Honored with a DevOps Dozen Award

Digital.ai Continuous Testing wins Best Testing Service/Tool at the DevOps Dozen Awards 2022, recognizing their exceptional code quality assurance and innovation.

Learn More